Php Regex找到一个单词,然后从考虑中排除特定单词
我使用以下正则表达式查找单词:Php Regex找到一个单词,然后从考虑中排除特定单词,php,regex,Php,Regex,我使用以下正则表达式查找单词: (? 如果要将单词开始/结束与@ (?<=\s)(?!(?:dog|cat)(?=\s))([\w\@\-]+)(?=\s) (?+1,但不等同于@ChuckUgwuh的正则表达式-如果它以@或-结尾,它将不匹配整个“单词”(不太可能),并且它将匹配字符串的开头/结尾(他的解决方案不会匹配).@TimPietzcker yeah u right.。他可以将\b更改为lookaround断言,以便在string@slier谢谢。关于@的环视断言,我该怎么做?
(?
如果要将单词开始/结束与@
(?<=\s)(?!(?:dog|cat)(?=\s))([\w\@\-]+)(?=\s)
(?+1,但不等同于@ChuckUgwuh的正则表达式-如果它以@
或-
结尾,它将不匹配整个“单词”(不太可能),并且它将匹配字符串的开头/结尾(他的解决方案不会匹配).@TimPietzcker yeah u right.。他可以将\b更改为lookaround断言,以便在string@slier谢谢。关于@的环视断言,我该怎么做?!这一个类似:,甚至指定了限定词的最小长度。@hakre它似乎与我不太相似?!哦,是的,你接受的答案使用的是相同的regex特性。;)-它也只做长度检查,这里没有(你有一个或多个字符组成一个单词)@hakre没问题,但这个问题的答案并不能回答我的问题。你必须是一个正则表达式忍者才能得出两者之间的相关性,而正则表达式忍者不是我,因此我的问题。我写的是类似的,不是完全相同的。这只是一个链接,以防有人在这个问题上绊倒,并寻找替代方案。这并不是说你的问题会被忽略我做错了什么。
(?<=\s)(?!(?:dog|cat)(?=\s))([\w\@\-]+)(?=\s)