用于匹配没有空格的单词的正则表达式


Regular expression to match words with no space

我正在尝试preg_match过滤不需要的垃圾邮件查询,我想匹配preg_match中列出的任何单词,如果它后面没有空格,请过滤它。

因此,例如,如果我在preg_match中有气球这个词,那么我想过滤诸如"balloon1"或"balloond"或"balloonedfbdg"等内容,并允许气球后带有空格的任何内容,例如"气球大","气球小"等。

我有很多来自谷歌的查询,它们只用一个单词,然后添加一大堆我想过滤掉的废话。这只是几个字,但对我来说,来到这里并找到解决这个问题的答案已经足够烦人了。

我已经使用正则表达式对某些垃圾邮件查询使用了preg_match,但我不知道如何匹配没有空格的内容并允许有空格的内容。

任何帮助不胜感激,谢谢。

您的表达式:/(balloon|otherwordone|othertwo)[^'s]/i

如果列出的单词

后面没有空格 (''s),则与列出的单词匹配

编辑:使用'B(不是单词边界):

/(balloon|otherwordone|othertwo)'B/i

这可以防止常用句子符号触发正则表达式(如点、逗号)。