标签: regex regex-negation regex-lookarounds
^(?!(xx+)\1+$)和^(?!(xx+)\1+)$之间有什么区别?为什么前者解决了"匹配素数x"问题,而后者没有匹配?
^(?!(xx+)\1+$)
^(?!(xx+)\1+)$
答案 0 :(得分:3)
^
$将无法匹配任何东西。(空字符串将满足负向前瞻)。
$
^(?!(xx+)\1+$)可以重写为^(?!(x{2,})\1+$),并且只匹配x的素数。因为它取消了所有与x的2+次匹配的匹配 - 重复1次或更多次。
^(?!(x{2,})\1+$)
x
RegEx Demo