如何使用Javascript正则表达式从可能的单词列表中获取单词的最后一次出现
How to get the last occurrence of a word from a list of possible words using Javascript regex?
我需要测试地址是否包含地名列表中的特定地名。例如,如果我有一个看起来像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的建议。
找到所需的字符串并检查行尾是否包含该字符串。
(dublin|cork|galway)(?!.*(dublin|cork|galway))
regex演示
相关文章:
- 如何在PHP中获取特定的字符串单词
- 当两个单独的单词被放在目标上时,使用Jquery获取一个值
- 使用RegExp获取一系列单词,这些单词前后可能有空格,也可能没有空格
- 获取特殊字符后没有单词的句子
- 如何在搜索框中获取从特定字母开头的单词
- 如何使用 JavaScript 获取所有以单词开头的 cookie
- 获取所有4个字母的单词Regex
- 使用正则表达式获取多个单词,单词之间留有空格
- Regex获取每个单词的中间部分javascript
- javascript匹配:如何获取一些特定的单词
- 如何从以某个单词(regexp)结尾的字符串中获取id
- 使用 JavaScript 正则表达式获取所有没有 HTML 标签的单词
- 如何在文本区域中获取最后一个单词的位置
- 获取每个'单词'在使用regex的Javascript字符串中的每个下划线之后
- 在鼠标指针下获取单词
- 在jQuery中,只从句子中获取单词或数字的一部分
- PHP 使用 file_get_contents 从.txt文件中获取最后五个单词
- 如何使用以下 JavaScript 代码以单词形式获取带有月份的日期:
- 获取包含单词“目标”的字段集
- 使用 RegEx 通过 “:” 之前的单词获取 “:” 之后的单词