gpt4 book ai didi

javascript - 将单词边界 anchor 应用于单个正则表达式中的所有标记

转载 作者:行者123 更新时间:2023-12-03 02:19:08 25 4
gpt4 key购买 nike

假设我有一个想要在字符串中匹配的标记列表:tok1、tok2、tok3 等等...

我希望在一个正则表达式中将单词边界应用于所有这些单词,但不需要每次都复制粘贴 \b 。这是我试图避免的:

/\btok1\b|\btok2\b|\btok3\b|\btok4\b|\btok5\b/g

我尝试过:

/\b(str1|str2|str3|str4|str5)\b/g

但它无法按 javascript .replace() 方法的预期工作。

是否有另一种方法可以将单词边界 anchor 应用于单个正则表达式中的所有标记?

---编辑:---

我尝试分解的正则表达式示例:

/\bjohn\b|\bjack\b|\bheather\b/g

预期结果:

john     //match
jack //match
heather //match
wheather //not match
hijack //not match
johnny //not match

最佳答案

您可以使用非捕获组并添加 token 。

使用 /g 全局标志来匹配所有出现的情况。然后使用replace将匹配项替换为您的替换值。

\b(?:john|jack|heather)\b

var str = "john, jack, heather, wheather, hijack, johnny";
var res = str.replace(/\b(?:john|jack|heather)\b/g, "test");
console.log(res);

关于javascript - 将单词边界 anchor 应用于单个正则表达式中的所有标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49238835/

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