我可以在正则表达式中使用“Alternation”来匹配任何出现的“cat”或“dog”,如下所示:
(cat|dog)
是否有可能否定这个选择,并匹配任何不是“cat”或“dog”的内容?
如果可以,如何实现?
例如:
假设我正在尝试以近似方式匹配英语中的句子结尾。
也就是说:
(\.)(\s+[A-Z][^.]|\s*?$)
以下是需要翻译的内容:
以下是一个段落示例:
快速的棕色狐狸跳过懒狗。曾经有一次,桑切斯博士、帕森斯先生和梅森州长去了商店。你好世界。
我在博士、先生和州长处错误地找到了“句子结束符”。
(我使用http://regexpal.com/ 进行测试,如果您想查看上述示例中的情况,请访问该网站)
既然这是错误的,我想说的是:
!(Dr\.|Mr\.|Gov\.)(\.)(\s+[A-Z][^.]|\s*?$)
当然,这并不起作用,这就是为什么我寻求帮助的原因。
我还尝试过!/(Dr.|Mr.|Gov.)/和!〜,它们完全没有帮助。
我如何避免匹配"Dr."、"Mr."和"Gov."等内容呢?
提前感谢。
(P<name>...)
的命名捕获组。 - Jeremy W. Sherman