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

Mar*_*tin 4 php regex preg-match

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

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

例:

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

:"bla1 bla2 bla3 bla4 "

所以我想从开始直到赶上一切 "hello"

ste*_*ema 5

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

如果要匹配字符串中的所有内容但不匹配指定的单词,则必须使用锚点\b 边界而不是^字符串$开头和字符串的结尾.

例如

\b(?:(?!your).)+\b
Run Code Online (Sandbox Code Playgroud)

除了"你的"之外的所有内容

在Regexr上看到它

(?!your)式断言这是真的,如果字符串"你"是不是下面的当前位置.