javascript - 用于匹配一组单词的正则表达式

标签 javascript regex

有没有办法匹配句子中的一组单词?

要求是我想检查一个句子是否包含以下单词 pop.op.obox。但它不应该捕获帖子或沙箱。

po --> 错误

发布 --> 成功

框-->错误

河马 --> 成功

提前致谢

最佳答案

这应该可以做到:

/\b(p\.?o|box)\b/g
  • 第一个 \b 匹配单词组的开头
  • ( . . . ) 设置匹配组
  • p\.?o 是第一个模式,它匹配“p”和“o”,“p”后面有一个可选的句点(“.”)
  • “|”表示匹配第一个模式第二个模式
  • box 是第二个模式,仅匹配单词“box”:)
  • 第二个 \b 匹配单词组的末尾
  • g 使模式“贪婪”,因此它将匹配该模式的所有出现

如果您希望它不区分大小写,请在模式末尾包含“i”参数:

/\b(p\.?o|box)\b/gi  <--- right here

编辑:为了简化模式,我删除了“o”后面的\.?。既然“.”必须是模式中的最后一个字符,匹配“p.o.”没有区别。和“p.o”。 。 。如果“p.o”之后的下一个字符是句点或空格,则它应该匹配。如果它是一个字母(例如),则不应如此,但尾随“.”的存在。确实与支票无关。

关于javascript - 用于匹配一组单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5804020/

相关文章:

javascript - 选中复选框,给出 false 和 true

javascript - 如何编写此正则表达式以获取多行数据并转换为 JSON 数组

javascript - 如何使用正则表达式拆分具有不同符号和空格的字符串?

PHP Regex 获取 youtube 视频 ID?

javascript - Angular.js : set default selected from ID

javascript - 如何使用 Javascript 的 Filter 方法将值传递给过滤器以及用作条件的值?

javascript - 多个window.open页面

javascript - 我的 jquery - ajax 请求无法正常工作

特定文本后的 javascript 正则表达式

ios - Swift - 匹配括号的正则表达式