我正在尝试使用preg_match来过滤不需要的垃圾邮件查询,我想匹配preg_match中列出的任何单词,并在其后面没有空格时对其进行过滤。
所以例如,如果我在preg_match中有单词balloon,那么我想过滤任何类似“balloon1”或“balloond”或“balloonedfbdg”等的东西,并允许任何带有空格的东西,如“气球大”,“气球小“等等。
我有很多来自谷歌的查询,只需要一个单词并添加一大堆垃圾,我想过滤掉它。这只是几句话,但对我来说这很烦人,并且找到答案来解决这个问题。
我已经使用preg_match进行了一些使用正则表达式的垃圾邮件查询,但我不知道如何匹配没有间隔的内容并允许有空格的东西。
感谢任何帮助,谢谢。
答案 0 :(得分:1)
你的表达:/(balloon|otherwordone|othertwo)[^\s]/i
如果列出的单词不后跟空格(\ s),则匹配列出的单词
编辑:使用\B
(不是单词边界):
/(balloon|otherwordone|othertwo)\B/i
这可以防止常见句子符号触发正则表达式(如点,逗号)。