在消极展望中使用不情愿的量词时,我发现有些奇怪。
当创建一个正则表达式来断言最多 3 个大写字符时,我设计了这个:
^(?!(.*?[A-Z]){4}).*$
这是为什么?
最佳答案
^
,$
匹配 Ruby 中的行首/行尾。
而在其他语言中,^
,$
匹配字符串的开头/结尾,除非指定了多行模式 (m
)。 (一些正则表达式引擎需要 g
标志来匹配多次。)
关于ruby - 在负面前瞻中使用不情愿的量词时引擎之间的不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332355/