gpt4 book ai didi

javascript - 如何使用 Javascript 正则表达式从可能的单词列表中获取单词的最后一次出现?

转载 作者:行者123 更新时间:2023-11-28 15:32:42 25 4
gpt4 key购买 nike

我需要测试地址是否包含地名列表中的特定地名。例如,如果我有一个类似于 123 someplace, someStreet, dublin 的地址,则以下正则表达式 (dublin|cork|galway) 将为我提供县 dublin

问题是 dublin 是否出现在地址的其他部分,例如123 someplace, dublin road, cork 那么我仍然会到达dublin,但我实际上想要cork

是否可以编写正则表达式来获取可能匹配单词列表的最后一次出现(如果有)。我看到 C# 正则表达式有一个从右到左的选项,这很好,但我不认为 Javascript 有类似的东西,是吗?

请注意,我不能依赖地址的格式,因此可能没有逗号分隔字符串。另外,虽然我要查找的单词很可能是字符串中的最后一个单词,但情况可能并不总是如此。

最佳答案

您可以使用积极的前瞻性

(dublin|cork|galway)(?!.*(dublin|cork|galway))

匹配最后一次出现

查看正则表达式如何工作

http://regex101.com/r/yQ6bY1/2

(?!.*(dublin|cork|galway)) 断言该模式无法匹配前面的模式 (dublin|cork|galway)

或者

更准确地说,

\b(dublin|cork|galway)\b(?!.*\b(dublin|cork|galway)\b)

感谢 nhahtdh 的建议。

关于javascript - 如何使用 Javascript 正则表达式从可能的单词列表中获取单词的最后一次出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com