【发布时间】:2019-02-03 12:14:34
【问题描述】:
我需要一个正则表达式,它匹配任何包含序列“ab”的单词,比如说,序列“ab”恰好出现一次。所以它应该匹配这些:
- 啊啊啊啊
- ab
- 可憎
而不是这些:
- 某事
- abab
- 巴克巴
使用我当前的正则表达式\w*ab\w*,我得到了第一个列表的所有内容,以及第二个列表的第二个列表,如下面的 sn-p 所示。我如何指定它只在它包含一个“ab”时才匹配?
let text = "aaaabaaa ab abomination something abab bacba";
console.log(text.match(/\w*ab\w*/ig));
我搜索了一段时间,但没有找到解决方案,但如果这是某种重复,请告诉我,我会删除问题。
【问题讨论】:
-
谢谢你,@Wiktor Stribiżew。如果您可以详细说明答案中的子元素,我可以接受它并学习一些东西:)
-
仅供参考,如果您还没有尝试过,请查看 regexr.com.... 或者正如 Wiktor 在他的演示中提到的 regex101.com 做同样的事情。
标签: regex