1

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

我正在尝试检索其中包含“足球”的任何单词,但将“足球”排除在外——这样我就可以得到其他任何东西——足球运动员、足球运动员、足球。只是不是“足球”。

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

4

2 回答 2

2

您必须在断言内移动单词边界:

/\bfootball(?!s\b)/

这比完全删除单词边界更正确。当你完全删除边界时,你会错过s后面的单词和一些东西: footballsa例如。

于 2012-07-11T21:31:51.170 回答
1

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

于 2012-07-11T21:26:09.350 回答