如何使用javascript中的正则表达式替换cookie字符串中的cookie值

时间:2019-05-30 19:22:39

标签: javascript regex

我有一个像这样的cookie字符串 'user=sravan;XSRF-TOKEN=1212143;session=random' 我需要检查Cookie字符串中的XSRD-TOKEN,如果字符串中有XSRF-TOKEN,则需要将值替换为'test'

预期的新字符串为'user=sravan;XSRF-TOKEN=test;session=random'

我尝试了这个(?<=XSRF-TOKEN).*$,但是它选择了XSRF-TOKEN=之后的整个字符串

2 个答案:

答案 0 :(得分:2)

您可以使用(?<=XSRF-TOKEN=)([^;]+),例如:

const str = 'user=sravan;XSRF-TOKEN=1212143;session=random';
const processed = str.replace(/(?<=XSRF-TOKEN=)([^;]+)/, "test");
console.log(processed);

但是更好的解决方案是解析cookie并重新创建字符串。

答案 1 :(得分:0)

这只能选择直到;

(?<=XSRF-TOKEN)[^;]+

或者,如果您只想选择= to之后的内容;

(?<=XSRF-TOKEN=)[^;]+

'user = sravan; XSRF-TOKEN = 1212143; session = random'