PHP preg_match除了word之外的任何字符

时间:2013-03-10 10:53:21

标签: php regex preg-match

要匹配除指定字符之外的任何字符(在本例中为“f”),我使用[^f]+

但是如何匹配除指定单词之外的任何字符?像[^word]+

这样的东西

示例:

haystack "bla1 bla2 bla3 bla4 hello bla5 bla6 bla7"(haystack包含HTML和换行符)

"bla1 bla2 bla3 bla4 "

所以我想从开始直到"hello"

来抓住所有内容

1 个答案:

答案 0 :(得分:5)

链接的可能重复是关于匹配不包含指定单词的行。我不确定是不是,这里有什么问题。

如果您想匹配字符串中的所有内容但不匹配指定字词,则必须使用锚点\b word boundary而不是^ start of a string and $ end of a string

例如

\b(?:(?!your).)+\b

匹配除“你的”之外的所有内容

here on Regexr

如果字符串“your”未跟随当前位置,则

(?!your)negative lookahead assertion为真。