Can*_*ğlu 11 javascript regex replace
我知道我可以像这样创建一个javascript替换:
str = str.replace(/mytarget/g, 'some value');
这将取代所有出现的文字mytarget.但是,我想要在正则表达式替换中使用大量的单词/短语,并且因为正则表达式只是语言元素(在声明时它们不包含在字符串中),我找不到以编程方式声明regexps的方法除非我硬编码.所以,如果我有:
var arr=['word', 'another', 'hello'];
我想生产:
str = str.replace(/word/g, 'some value');
str = str.replace(/another/g, 'some value');
str = str.replace(/hello/g, 'some value');
请发布一个我可以使用正则表达式的示例,因为我将在正则表达式中添加更多表达式,例如空格等.所以我需要正则表达式.最后,请不要提供使用eval,我相信有更好的方法.
jAn*_*ndy 18
您需要为此调用RegExp构造函数.例:
['word', 'another', 'hello'].forEach(function( word ) {
var myExp = new RegExp(word, 'g');
str = str.replace(myExp, 'some value');
});
Run Code Online (Sandbox Code Playgroud)
构造函数的第一个参数是一个字符串,它实际上包含了你要包装的任何东西//.第二放慢参数也是字符串,在那里你可以通过类似调节剂g,i等等.
您可以像这样动态构建 RegEx -
var word = 'hello';
var re = new RegExp("\\b" + word + "\\b","g");
Run Code Online (Sandbox Code Playgroud)
请记住,您需要使用转义任何\字符\\
| 归档时间: |
|
| 查看次数: |
5693 次 |
| 最近记录: |