gpt4 book ai didi

javascript - 在 jquery 中使用变量的 RegExp 单词匹配

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

我需要找到匹配项的数量并替换匹配项的出现次数。大小写不敏感。此外,我需要使用一个变量而不是实际的字符串,以便我可以重用逻辑。

示例文本:她的丈夫领导整个南欧的国内业务审计团队并向她汇报工作。

预期结果

计数:2

结果文本 应该是“xxx 丈夫领导整个南欧的国内业务审计团队并向 xxx 汇报。”

注意南方的“她”被忽略了。

var testdata = "Her Husband leads in-country business audit teams across Southern Europe and reports to her.";
var searchstring = thisarray[i]; // e.g.: "her";
var search_regexp = new RegExp(searchstring, "\g\i");
var count = testate.match(search_regexp).length;
var resulttext = testdata.replace(search_regexp,"xxx");

我的做法不尽如人意,因为它也在南方找到了她。我在这里做错了什么?

最佳答案

你的 var searchstring 只是一个普通的 her,所以它会找到任何有 he r 的连续顺序,在前后添加空格,或者更好, 边界 \b\

所以它应该是这样的:\bher\b

编辑:

使用这个:

var a_word = "her";
var searchstring = '\\b' + a_word + '\\b';
var search_regexp = new RegExp(searchstring, "gi");

var match1 = testdata.match(search_regexp);

之所以需要 \\b 是因为 \\ 转义为 \ 之后,这使得 \b.

这是显示 RegExp 而没有显示 RegExp 的 jsfiddle:https://jsfiddle.net/1r2jyodo/1/

关于javascript - 在 jquery 中使用变量的 RegExp 单词匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441577/

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