繁体   English   中英

使用jquery中的变量进行RegExp字匹配

[英]RegExp word matching using variables in jquery

我需要找到匹配的数量以及替换匹配的发生。 案例不敏感。 此外,我需要使用变量而不是实际的字符串,以便我可以重用逻辑。

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

预期结果

数: 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有连续顺序的东西,在前后加上白色空格,或者更好的是,边界\\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的原因是因为\\\\ escapse to \\ after,这使得\\b

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM