我正在尝试匹配不以.
或!
结尾并且不以."
或!"
结尾的行,因此它应该与两者都匹配
say "bye"
say "bye
但不应该匹配:
say "bye.
say "bye!
say "bye."
say "bye!"
我尝试使用正向和负向前瞻,并尝试按照Regex AND operator中的建议将它们用作AND,但是我无法使其正常工作,也无法确定使用前瞻性是可行的。
最佳答案
只需在后面使用负数即可。
这完全符合您的要求:^.*+(?<![.!]"?)$
^
-行首.*+
-任意数量的字符,不放弃回溯(?<!
+ )
-不以[.!]
-点或感叹号"?
-可选的双引号$
-行尾
关于带有负参数的正则表达式AND运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57536048/