preg_match 多个单词

新手上路,请多包涵

我想测试一个字符串以查看它是否包含某些单词。

IE:

 $string = "The rain in spain is certain as the dry on the plain is over and it is not clear";
preg_match('`\brain\b`',$string);

但是那个方法只能匹配一个词。如何检查多个单词?

原文由 Asim Zaidi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 407
2 个回答

就像是:

 preg_match_all('#\b(rain|dry|clear)\b#', $string, $matches);

原文由 jeroen 发布,翻译遵循 CC BY-SA 3.0 许可协议

preg_match('~\b(rain|dry|certain|clear)\b~i',$string);

您可以使用竖线字符 ( | ) 作为正则表达式中的“或”。

如果您只需要知道是否存在任何单词,请使用 preg_match 如上所述。如果您需要匹配任何单词的所有出现,请使用 preg_match_all

 preg_match_all('~\b(rain|dry|certain|clear)\b~i', $string, $matches);

然后检查 $matches 变量。

原文由 Czechnology 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏