我正在玩Regex Golf(http://regex.alf.nu/)而且我在做阿巴洞.我有以下正则表达式完全匹配错误的一面(这是我试图做的):
(([\w])([\w])\3\2)
但是,我现在试图否定它,所以它与另一方相匹配.我似乎无法想出这一部分.我试过了:
(?!([\w])([\w])\3\2)
但那没用.正则表达大师的任何提示?
只需使用.
和删除不必要的parens,您就可以缩短(并获得更多积分):
^(?!.*(.)(.)\2\1)
它只是确保在字符串的任何部分没有"abba"(这里的"abba"表示我们不想匹配的特定顺序中的4个字母)而不必匹配整个单词.