он ищет строку document.cookie для cookieInfo=
Следующая она захватывает все символы, которые являются п. ot ;
(пока он не достигнет первой точки с запятой).
[...]
набор всех символов, входящих внутрь.
[^...]
набор всех символов, которые не соответствуют
Затем он позволяет просматривать регистр через все остальные символы.
.*
любой знак, 0 и больше.
$
конец строки (или в некоторых особых случаях, конец строки).
Вы можете заменить "
несколько различных способов, но вместо того, начинка его в регулярное выражение, я бы рекомендовал делать заменить на нем после факта:
var string = document.cookie.match(...)[1],
cleaned_string = string.replace(/^"|"$/g, "");
Это второе регулярное выражение говорит: «смотреть на начало строки и посмотрите, есть ли "
или посмотрите на конец строки и посмотрите, есть ли "
.
Обычно RegEx останавливается после того, как он первым обнаружил, что он нашел. g
в конце означает чтобы продолжать идти на каждый матч, который он может найти в строке, которую вы ему дали.
Я бы не поместил его в оригинальное RegEx, потому что игра с дополнительными кавычками может быть уродливой.
Если они гарантированы всегда, всегда быть там, тогда это здорово, но если вы предполагаете, что они есть, и вы нажмете тот, у которого их нет, то вы получите null
.
Вы также можете сделать это сами: [Regex CheatSheat] (http://regexlib.com/CheatSheet.aspx) =) –
'. * $' Бесполезен. –
Это странно. , , '[1]' в конце указывает, что код хочет, чтобы второе совпадение возвращалось в массиве, но в конце шаблона Regex нет 'g', поэтому никогда не будет более одного совпадения (представленного' [0] ', а не' [1] '). , , – talemyn