Javascript регулярное выражение получить содержимое внутри двойных кавычек - PullRequest
0 голосов
/ 16 декабря 2018

Как получить содержимое внутри двух строк?

Пример:

Основная строка:

document.cookie="cookie=name";

Как выбрать часть cookie = name?

Я пробовал это:

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

Но это выбирает строку дырок, а не cookie = имя.

Ответы [ 3 ]

0 голосов
/ 16 декабря 2018

У вас есть, просто извлеките первый матч

var regex = /document.cookie=\"(.*?)\";/;
var match = regex.exec('document.cookie="cookie=name";');
console.log(match[1]);
0 голосов
/ 16 декабря 2018

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);

Несмотря на то, что разбиение строки по двойной кавычке, безусловно, эффективно, ОП скомпоновал сообщение таким образом, что выражает интерес к использованию регулярного выражения, к которому относится этот ответ.Вы можете выделить часть, которую вы хотите извлечь, из внешней строки с помощью регулярного выражения, соответствующего шаблону, расположенному в конце str.Затем строка использует метод replace, чтобы глобально заменить все двойные кавычки.Затем общий результат присваивается переменной match. На данный момент один извлек внутреннюю строку «cookie = имя».

Конечно, вы можете манипулировать match, разделяя его строковое значение на символ равенства, как этот код делает в операторе, который использует деструктуризацию массива.Результатом этого действия являются переменные data и name соответственно, содержащие значения «cookie» и «name».

0 голосов
/ 16 декабря 2018

Вы можете использовать split:

str.split('"')[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...