gpt4 book ai didi

javascript - 在字符串javascript中替换使用正则表达式

转载 作者:行者123 更新时间:2023-11-30 12:00:20 24 4
gpt4 key购买 nike

我正在尝试使用正则表达式替换特定字符串。

var replace = {'<RAndom>': "random object"};

我正在使用动态正则表达式替换它,因为我有很多对象。

var tagsText = "<RAndom> hellow world";
var regex = new RegExp('\\b(' + Object.keys(replace).join('|') + ')\\b', 'g');
tagsText = tagsText.replace(regex, function(match) {
return replace[match] + match;
});

但它不起作用。我认为问题出在分号上,但我不确定。输出再次相同。

"<RAndom> hellow world"

有什么想法吗?

最佳答案

问题是在 &; 之前的每一侧都存在 \b(单词边界)。 &; 都不是非单词字符,\b 不能在非单词字符前后断言。

您可以使用 \B 代替:

var regex = new RegExp('\\B(' + Object.keys(replace).join('|') + ')\\B', 'g');

然后

tagsText  = tagsText.replace(regex, function(match) {
return replace[match] + match;
});

//=> "random object<RAndom> hellow world"

关于javascript - 在字符串javascript中替换使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36767422/

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