正则表达式帮助 - 匹配特定的字符串,但不包括在[!foobar!]

时间:2016-03-11 13:00:22

标签: regex

在PHP中,我们希望用链接替换字符串,但是想让内容编辑器能够说不要自动替换这个字符串(即让他们有机会将字符串包装成某些特定的非字符,这样它就不会掉落进入我们的逻辑模式)

e.g。 “我去公园散步,遇到了一个foobar” 将落入我们的比赛并被替换 然而 “我去公园散步,遇到了[!foobar!]” 不会。

Foobar - should match
[!Foobar!] - shouldn't match
Foobar!] - should match
[!Foobar - should match
Foobar, is cool - should match

无法在http://regexr.com

上构建此正则表达式

1 个答案:

答案 0 :(得分:1)

如果我理解正确,这应该可以解决问题:

(?!\[!)(foobar)(?!!\])

参见 Live Demo