[英]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.