如何在两个字符串中获取内容?
例:
主弦:
document.cookie="cookie=name";
如何选择cookie = name部分?
我试过这个:
document.cookie=\"(.*?)\";
但是这样选择孔字符串而不是cookie = name。
你可以使用split
:
str.split('"')[1]
你拥有它,只需提取第一场比赛
var regex = /document.cookie=\"(.*?)\";/;
var match = regex.exec('document.cookie="cookie=name";');
console.log(match[1]);
let str = 'document.cookie="cookie=name"';
let regx = /\".+=.+\"$/;
let match = str.match(regx)[0].replace(/\"/g, "");
console.log(match);
let [data, name] = match.split("=");
console.log("Data: " + data + " and name: " + name);
虽然在双引号上拆分字符串肯定是有效的,但OP以一种表达对使用正则表达式感兴趣的方式组成帖子,这个答案解决了这个问题。您可以使用与位于str
末尾的模式匹配的正则表达式来隔离要从外部字符串中提取的部分。接下来,字符串使用其replace方法全局替换其所有双引号。然后,将整个结果分配给变量match
。此时,现在已经提取了内部字符串'cookie = name'。
当然,你可以通过在等号字符上拆分它的字符串值来操纵match
,就像这个代码在使用数组解构的语句中那样。此操作导致变量data
和name
分别包含值“cookie”和“name”。