以消极的眼光捕捉背后
Capture with negative look behind
假设我有以下主题:
abcdef ghidef
我想匹配 以 def 结尾且前面没有 abc 的单词(在本例中为 ghidef)。我该如何匹配?
当我使用:
(?<!abc)def
我得到了第二个 def
但我没有得到 ghi
这里。
不需要回头看。您可以使用负前瞻:
\b(?!abc)\w*def\b
正则表达式分解:
\b
- 声明单词边界
(?!abc)
- 否定先行断言一个词在 \b
(词边界) 之后不以 abc
开头
\w*
- 匹配 0 个或多个单词字符
def
- 单词的结尾文本是 def
\b
- 单词边界
假设我有以下主题:
abcdef ghidef
我想匹配 以 def 结尾且前面没有 abc 的单词(在本例中为 ghidef)。我该如何匹配?
当我使用:
(?<!abc)def
我得到了第二个 def
但我没有得到 ghi
这里。
不需要回头看。您可以使用负前瞻:
\b(?!abc)\w*def\b
正则表达式分解:
\b
- 声明单词边界(?!abc)
- 否定先行断言一个词在\b
(词边界) 之后不以 \w*
- 匹配 0 个或多个单词字符def
- 单词的结尾文本是def
\b
- 单词边界
abc
开头