负面看法 - 正则表达式

时间:2012-07-11 21:22:43

标签: regex

我正在尝试自己学习正则表达式,因此这种愚蠢的活动。

我正在尝试用“足球”中的任何一个词来取回,但是从那里排除“足球” - 所以我可以得到任何其他东西 - 足球运动员,足球运动员,足球。只是不是“足球”。

我发现\bfootball(?!s)\b摆脱了足球运动员和足球。我怎么只排除“足球”?

2 个答案:

答案 0 :(得分:2)

你必须在断言中移动单词边界:

/\bfootball(?!s\b)/

这比删除单词边界更正确。 当您完全删除边界时,您会错过s之后的单词以及之后的单词: 例如footballsa

答案 1 :(得分:1)

\bfootball(?!s)\b排除“足球运动员”,因为你正在寻找一个单词边界,然后是“足球”,然后不是S,然后是另一个单词边界(不允许你在“足球”之后找到任何东西) )。摆脱结束词边界(换句话说,改为使用\bfootball(?!s\b))。

相关问题