如何组合正则表达式?
编辑:此选项用于备考。问题是编写一个正则表达式来查找a的奇数和b的偶数的所有字符串?
也就是说,我需要一种机制来模拟AND,而不是| OR
我有两个正则表达式:
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]*$发布于 2011-05-11 22:02:31
您可以使用lookahead expressions (这里显示为一个详细的正则表达式,因为它真的很难读,更多的是在一行中):
^ # 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最后两行可以删除,如果您只是验证-它们只是匹配整个字符串。
https://stackoverflow.com/questions/5965410
复制相似问题