当我用一个不情愿的量词来否定未来时,我发现了一些奇怪的事情。
当创建一个regex来断言最多3个大写字符时,我设计了这样一个:

^(?!(.*?[A-Z]){4}).*$

rubular有效,但对regex101无效。
为什么会这样?

最佳答案

^$匹配ruby中的行首/行尾。
在其他语言中,^$匹配字符串的开头/结尾,除非指定了多行模式(m)。(某些正则表达式引擎需要g标记多次匹配。)

10-06 09:00
查看更多