Javascript正则表达式获取双引号内容

问题描述 投票:0回答:3

如何在两个字符串中获取内容?

例:

主弦:

document.cookie="cookie=name";

如何选择cookie = name部分?

我试过这个:

document.cookie=\"(.*?)\";

但是这样选择孔字符串而不是cookie = name。

javascript regex
3个回答
2
投票

你可以使用split

str.split('"')[1]

1
投票

你拥有它,只需提取第一场比赛

var regex = /document.cookie=\"(.*?)\";/;
var match = regex.exec('document.cookie="cookie=name";');
console.log(match[1]);

0
投票

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,就像这个代码在使用数组解构的语句中那样。此操作导致变量dataname分别包含值“cookie”和“name”。

© www.soinside.com 2019 - 2024. All rights reserved.