我需要替换字符串的一部分,但是我拥有的代码替换了整个字符串,我只想根据键名在=等号之后重新使用文本。我需要正则表达式来跳过关键字value =,然后替换它等于的值。我有一部分工作在正则表达式中,但它完全匹配。
/(?:value\=)([A-Za-z{}": ',&-=\\]+)$/
name = test
key = value
value = {
"first": 'John',
'Last': 'Doe'
}
value = first = John & last = Doe
var data = "value=first_name=John&last_name=Doe;"
.replace(/^(?:value\=)([A-Za-z{}": ',&-=\\]+)$/g, 'first_name=Homer&last_name=Simspon');
console.log(data);
/*
data = value=first_name=John&last_name=Doe
which should be
value=first_name=Homer&last_name=Simspon
*/
您可以使用捕获组,$ 1,$ 2等。我在下面使用了通配符。* regex,但是您可以使其更特定于您希望看到的键-值对。
var data = "value=first_name=John&last_name=Doe;"
.replace(/(value\=).*(;)/g, '$1first_name=Homer&last_name=Simspon$2');
console.log(data);
/*
data = value=first_name=John&last_name=Doe
which should be
value=first_name=Homer&last_name=Simspon
*/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句