Вы можете использовать следующее регулярное выражение.
(?<=nonce\=)\w*(?=\&)
Объяснение:
- Положительный взгляд позади
(?<=nonce\=)
: Утвердите, что регулярное выражение нижеМатчи.nonce
соответствует символам, не являющимся символом буквально (с учетом регистра) \=
соответствует символу =
буквально (с учетом регистра) \w*
соответствует любому символу слова (равен [a-zA-Z0-9 _]) : *
Квантификатор - сопоставляет от нуля до неограниченного числа раз столько раз, сколько возможно, возвращая при необходимости (жадность) - Позитивный взгляд
(?=\&)
: Утверждается, что приведенное ниже регулярное выражение соответствует \&
соответствует символу и буквально (с учетом регистра)
Пример кода:
const regex = /(?<=nonce\=)\w*(?=\&)/gm;
const str = `nonce=nmjs7avwT1&`;
let m;
while ((m = regex.exec(str)) !== null) {
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Вывод:
Found match, group 0: nmjs7avwT1