时间:2017-03-24 19:12:44

标签: php regex pcre

我们假设我有以下主题:

abcdef ghidef

我希望匹配以def而不是abc 结尾的单词(在这种情况下,它将是ghidef)。我怎么能匹配呢?

当我使用时:

(?<!abc)def

我正在获得第二个def,但我没有ghi来到这里。

1 个答案:

答案 0 :(得分:3)

无需向后看。您可以使用否定前瞻:

\b(?!abc)\w*def\b

RegEx Demo

RegEx分手:

  • \b - 断言词边界
  • (?!abc) - 在abc(字边界)
  • 之后断言一个单词并不以\b开头的负面预测
  • \w* - 匹配0个或更多字词
  • def - 结尾的文字是def
  • \b - 字边界