查找最后一次出现的正则表达式单词

新手上路,请多包涵

如何找到带有单词边界的单词的最后一次出现?我为这个词创建了 /\btotal\b/ 的正则表达式。我将如何使用 search() 查找此表达式的最后一次出现?在此先感谢您的帮助!

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

阅读 1.4k
2 个回答

您可以使用负前瞻来获得最后一场比赛:

 /(\btotal\b)(?!.*\b\1\b)/

正则表达式演示 1

正则表达式演示 2

(?!.*\1) 是断言捕获组 #1 的否定前瞻,即 total 在当前匹配之前不存在单词。

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

不使用前瞻但使用相同的正则表达式(已应用 g ,即全局标志),选项是将字符串与正则表达式匹配并获得最后一个匹配项。

 var matches = yourString.match(/\btotal\b/g);
var lastMatch = matches[matches.length-1];

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

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