RegEx匹配字符串的一部分,只要下一个字符不是_

时间:2015-02-17 16:26:15

标签: regex

我确信这是一个简单的正则表达式,但我无法弄清楚我想从Google / SO搜索中得到什么的措辞。

在以下字符串中,只要下一个字符不是_ (下划线)

,我想匹配 foo
  

Lorem ipsum dol foo _ 或坐下来,结识 foo ut aliquip ex ea   商品问题。 duis aute ir foo ure dolor in reprehenderit in   vol foo _ uplate velit esse cillum dolore eu sunt in culpa qui    foo ia deserunt mollit anim id est laborum

我应该在这里获得3场比赛 foo 并忽略其他两个 foo _ 实例。到目前为止我已经得到了这个;

foo[^_]

返回此内容;

[0] => Array
    (
        [0] => foo 
        [1] => foou
        [2] => fooi
    )

这匹配foo之后的一个字符,这不是我想要的。我不知道如何同时匹配下一个角色,因为它一定不能和强调...请教育我!

作为参考,这是为了在文本编辑器中进行匹配,所以我稍微局限于我可以做的事情,这就是为什么我需要匹配那个确切的字符串而没有别的。

1 个答案:

答案 0 :(得分:7)

你需要使用否定的先行断言。

foo(?!_)

上述否定前瞻断言匹配foo后面跟下划线符号。

DEMO