替换javascript中两个子字符串之间包含的子字符串

时间:2014-10-09 13:32:17

标签: javascript regex

我有这个字符串

'bookmarkState={"params":{"date_from":"2014-07-31","date_to":"2014-10-01"}}'

我想用2014-07-31替换2014-01-01,即在'“date_from”:“'和'”,“'之间包含的子字符串,使用javascript中的正则表达式。我写了这段代码但它不起作用:

var qs = 'bookmarkState={"params":{"date_from":"2014-07-31","date_to":"2014-10-01"}};'
var regEx = /^(.*?date_from":")[^"]*(".*)$/;
qs = qs.replace(regEx, '2014-01-01');`

2 个答案:

答案 0 :(得分:2)

你不需要正则表达式来做到这一点:

eval('bookmarkState={"params":{"date_from":"2014-07-31","date_to":"2014-10-01"}}');

bookmarkState.params.date_from = '1988-04-12';

console.log(JSON.stringify(bookmarkState));

答案 1 :(得分:0)

^(.*?date_from":")[^"]*(",".*)$

试试这个。$1<your string>$2。见。演示。

http://regex101.com/r/qZ0uP0/1