我怎样才能结合正则表达式?
编辑:如果考试准备.问题是写一个正则表达式来查找所有具有奇数a和偶数b的字符串?
即代替| 对于OR,我需要一种模拟AND的机制
我有两个正则表达式:
1) to find odd number of a's:
^[^a]*a([^a]*a[^a]*a)*[^a]*$
2) to find even number of b's:
^([^b]*b[^b]*b)*[^b]*$
Run Code Online (Sandbox Code Playgroud)
你可以使用先行表达式(这里显示为详细的正则表达式,因为它真的很难阅读,更多的是在一行上):
^ # start of string
(?=(?:(?:[^a]*a){2})*[^a]*$) # assert an even number of as
(?=[^b]*b(?:(?:[^b]*b){2})*[^b]*$) # assert an odd number of bs
.* # match anything
$ # end of string
Run Code Online (Sandbox Code Playgroud)
如果您只是验证,可以删除最后两行 - 它们只是匹配整个字符串.