Javascript:字符串替换问题
我有一个字符串,其中包含Javascript:字符串替换问题,javascript,regex,string,Javascript,Regex,String,我有一个字符串,其中包含q=“AWORD”,我想用q=“THEWORD”替换q=“AWORD”。然而,我不知道什么是AWORD。。是否可以将字符串和正则表达式组合起来,以便在不知道参数值的情况下替换参数?这就是我到目前为止得到的 globalparam.replace('q="/+./"', 'q="AWORD"'); 您拥有的只是一个字符串,而不是正则表达式。我想这就是你想要的: globalparam.replace(/q=".+?"/, 'q="THEWORD"'); 我不知道你是怎么
q=“AWORD”
,我想用q=“THEWORD”
替换q=“AWORD”
。然而,我不知道什么是AWORD。。是否可以将字符串和正则表达式组合起来,以便在不知道参数值的情况下替换参数?这就是我到目前为止得到的
globalparam.replace('q="/+./"', 'q="AWORD"');
您拥有的只是一个字符串,而不是正则表达式。我想这就是你想要的:
globalparam.replace(/q=".+?"/, 'q="THEWORD"');
我不知道你是怎么知道为什么你必须“组合”一个字符串和一个正则表达式的,但是一个正则表达式不需要只存在一个通配符。正则表达式类似于可以包含通配符的模式,但在其他情况下,它会尝试匹配给定的确切字符
上述表达式的作用如下:
:匹配字符q=“
、q
和=
”
:匹配任何字符(+?“
),直到(包括)下一个
。必须至少有一个字符(”
),并且匹配是非贪婪的(+
),这意味着它尝试匹配尽可能少的字符。否则,如果您使用?
,它将匹配字符串中直到最后一个引号的所有字符+“
.Felix的答案将为您提供解决方案,但如果您确实希望使用字符串构造正则表达式,可以通过以下方式进行:
var fullstring = 'q="AWORD"';
var sampleStrToFind = 'AWORD';
var mat = 'q="'+sampleStrToFind+'"';
var re = new RegExp(mat);
var newstr = fullstring.replace(re,'q="THEWORD"');
alert(newstr);
mat=
您正在构建的正则表达式,组合字符串或任何需要的内容
re=
RegExp构造函数,如果您想执行全局、区分大小写等操作,请在此处执行
最后一行是string.replace(RegExp,replacement);