当我尝试这个正则表达式时
\"(\S\S+)\"(?!;c)
在这个字符串上"MM:";d它符合我的要求
在这个字符串"MM:";c上,它与所期望的不匹配。
但是当我添加第二组时,通过在该组中移动分号并使用 | 使其成为可选
\"(\S\S+)\"(;|)(?!c)
对于这个字符串"MM:";c当我期望它不像以前那样匹配时。
我在 Java 上尝试了这个,然后在 Javascript 上使用 Regex 工具调试:
我究竟做错了什么?
注意 | 所以没有必要有分号。同样在示例中我放了 c,它只是示例中单词的替代品,这就是我使用否定前瞻的原因。
在遵循 Holgers 对使用所有格量词的反应之后,
\"(\S\S+)\";?+(?!c)
它有效, 这是 RegexPlanet 上的链接