2

我正在尝试这个正则表达式

(?<!(John|Joe)) (Taylor)

在这个文本上 John James Taylor

但我在这里http://www.rubular.com/r/TjD2d4oG5z得到“后向无效模式”

我正在尝试匹配前面没有 John 或 Joe 的“Taylor”。

请问有什么提示吗?

4

2 回答 2

3

尝试以下操作:

(?<!(?:John|Joe)) (Taylor)

(?:)是一个非捕获组,这在环顾四周是有意义的,因为您只是在做一个assertion,实际上并没有匹配任何东西。或者只是一起删除捕获组,即(?<!John|Joe).

于 2012-09-24T09:55:40.753 回答
2

尝试:

/(?<!John|Joe) (Taylor)/
于 2012-09-24T09:56:24.253 回答