繁体   English   中英

JavaScript RegEx:如何使用变量中的特定值创建RegEx模式?

[英]JavaScript RegEx: How to create a RegEx pattern using a specific value from a Variable?

我有这个变量:

var search = "dummy";
var replace = "<strong>" + search + "</strong>";
var contents = "my contents are here and this dummy value should be bolded...";

contents.replace(/search/gi, replace);

因此,如何在RegEx模式下设置此“搜索”变量,然后为我的匹配设置/ gi设置。

尝试

new RegExp('yourSearchHere', 'gi');

您还应该意识到以下事实:必须转义某些序列。 顺便说一句。 在构造这样的正则表达式时,必须将它们加倍转义(新的RegExp('\\\\ n')->匹配\\ n)

您还可以使用RegExp对象创建正则表达式:

search = "dummy";
x = new RegExp(search,"gi");

var search = "dummy";
var replace = "<strong>" + search + "</strong>";
var contents = "my contents are here and this dummy value should be bolded...";
window.alert(contents.replace(x, replace));

http://jsfiddle.net/YhqjY/

您可以使用反向引用 :$ 1会记住您与正则表达式匹配的内容。 这样做是因为您要搜索的单词放在组成捕获组的圆括号内。

var contents = "my contents are here and this dummy value should be bolded...";


function makeStronger( word, str ) {
    var rxp = new RegExp( '(' + word +')', 'gi' );
    return str.replace( rxp, '<strong>$1<\/strong>' );
}

console.log( makeStronger( 'dummy', contents ) );
// my contents are here and this <strong>dummy</strong> value should be bolded...

暂无
暂无

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

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