正则表达式匹配偶数个字母

And*_*yuk 10 python regex

我需要将Python中的表达式与仅匹配偶数个字母出现的正则表达式进行匹配.例如:

AAA        # no match
AA         # match
fsfaAAasdf # match
sAfA       # match
sdAAewAsA  # match
AeAiA      # no match

偶数的As应该匹配.

Gum*_*mbo 17

试试这个正则表达式:

^[^A]*((AA)+[^A]*)*$
Run Code Online (Sandbox Code Playgroud)

如果As不需要连续:

^[^A]*(A[^A]*A[^A]*)*$
Run Code Online (Sandbox Code Playgroud)

  • +1看起来正确 - 找到任意数量的非A字符,然后是AA对与其他字符.然而,如果(AA)*是(AA)+ ^ [^ A]*((AA)+ [^ A]*)*$,则效率稍高.如果原始海报希望"ab"与正则表达不匹配,那么结尾也需要+,即^ [^ A]*((AA)+ [^ A]*)+ $强制至少一对. (2认同)