Какое значение /gi в регулярном выражении?
Я вижу строку в моем JavaScript-коде, например:
var regex = /[^\w\s]/gi;
Какое значение этого /gi
в регулярном выражении?
Другая часть, которую я могу понять, поскольку она принимает группу слов и пробелов, но не /gi
.
Ответы
Ответ 1
g modifier: global. All matches (don't return on first match)
i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])
В вашем случае, хотя i
несущественно, так как вы не записываете [a-zA-Z]
.
Для ввода типа [email protected]#$
, если модификатор g
отсутствует, regex вернет первое соответствие !
См. здесь.
Если g
есть, он вернет все или что-то, что может соответствовать. См. здесь
Ответ 2
g
= global, сопоставлять все экземпляры в строке, а не только одну
i
= нечувствительность к регистру
В контексте, который вы указали (/[^\w\s]/gi
), i
не имеет смысла, поскольку для регулярного выражения не существует конкретных случаев.