我正在尝试匹配不以.!结尾并且不以."!"结尾的行,因此它应该与两者都匹配

  • say "bye"
  • say "bye

  • 但不应该匹配:
  • say "bye.
  • say "bye!
  • say "bye."
  • say "bye!"

  • 我尝试使用正向和负向前瞻,并尝试按照Regex AND operator中的建议将它们用作AND,但是我无法使其正常工作,也无法确定使用前瞻性是可行的。

    最佳答案

    只需在后面使用负数即可。
    这完全符合您的要求:^.*+(?<![.!]"?)$^-行首.*+-任意数量的字符,不放弃回溯(?<! + )-不以[.!]-点或感叹号"?-可选的双引号$-行尾

    关于带有负参数的正则表达式AND运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57536048/

    10-11 14:45