javascript - 仅当单词唯一时才匹配该单词

标签 javascript regex

我花了一天时间尝试使用正则表达式仅匹配单词唯一的单词。它不起作用,我不知道我做错了什么。

我需要一些仅匹配“ST”的唯一实例的内容,例如:

  • “1 玛丽 ST 华盛顿”

但是失败了:

  • “1 ST 玛丽 ST 华盛顿”
  • “1 ST 玛丽 ST MT ST 海伦斯”
  • “1 MARY RD WEST 华盛顿”
  • “华盛顿玛丽路 1 号”

我认为这种前瞻会起作用,但没有这样的运气:

(\bST\b)(?!(\bST\b))

我错过了什么?

最佳答案

您可以使用以下模式:

^(?!(.*\bST\b){2,}).*\bST\b

这会立即进行负向预测,检查是否出现 2 次或多次 \bST\b。如果没有,它会继续按照模式移动并检查是否至少有一个。

关于javascript - 仅当单词唯一时才匹配该单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46598164/

相关文章:

Javascript:删除字符串中的随机字符串

javascript - 使用 jquery 将文本发送到 twitch.tv 聊天框

javascript - 如何使用 html 分割可变长度字段

MySQL REGEXP 在正斜杠后带有字边界

java - 需要 Java 正则表达式的线索

整数的Python正则表达式?

php - CodeIgniter URI 中的百分比符号

javascript - AngularJS 单选按钮选定的值不起作用

JavaScript/Javabean : co-operation not working for counter

javascript - 在 JavaScript 中标记化