正则表达式-交替字符的匹配模式 [英] regex - match pattern of alternating characters
本文介绍了正则表达式-交替字符的匹配模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要匹配小写字母交替的模式.
I want to match patterns of alternating lowercase characters.
ababababa -> match
我尝试过
([a-z][a-z])+[a-z]
但这也将是一个匹配项
ababxyaba
推荐答案
您可以将此正则表达式与2个反向引用配合使用,以匹配交替的小写字母:
You can use this regex with 2 back-reference to match alternating lowercase letters:
^([a-z])(?!\1)([a-z])(?:\1\2)*\1?$
正则表达式细分:
-
^
:开始 -
([[a-z])
:匹配捕获组#1中的第一个字母 -
(?!\ 1)
:先行确认我们不会再次匹配同一字母 -
([[a-z])
:匹配捕获组#3中的第二个字母 -
(?:\ 1 \ 2)*
:匹配零对或更多对的第一个和第二个字母 -
\ 1?
:在结尾处匹配可选的第一个字母 -
$
:结束
^
: Start([a-z])
: Match first letter in capturing group #1(?!\1)
: Lookahead to make sure we don't match same letter again([a-z])
: Match second letter in capturing group #3(?:\1\2)*
: Match zero or more pairs of first and second letter\1?
: Match optional first letter before end$
: End
这篇关于正则表达式-交替字符的匹配模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文