This page was translated from English by the community.Learn more and join the MDN Web Docs community.
SyntaxError: invalid regular expression flag "x"
Сообщение
SyntaxError: invalid regular expression flag "x" (Firefox)SyntaxError: Invalid regular expression flags (Chrome)
In this article
Тип ошибки
SyntaxErrorЧто пошло не так?
В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключённый между двумя слешами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функцииRegExp object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очерёдности, но в ECMAScript их только пять.
Чтоб включить флаг в регулярное выражение, используйте синтаксис:
var re = /pattern/flags;или
var re = new RegExp("pattern", "flags");Флаги регулярного выражения
| Флаг | Описание |
|---|---|
g | Глобальный поиск. |
| i | Нечувствительный к регистру поиск. |
| m | Поиск по всем строкам. |
| u | Unicode; обрабатывать шаблон как последовательность кода Unicode |
| y | Выполняет «липкий» поиск, который будет начинаться с текущей позиции в целевой строке. См.sticky |
Примеры
Существует только пять действительных флагов регулярных выражений.
/foo/bar;// Ошибка синтаксиса: недействительный флаг "b" для регулярного выраженияВы намеревались создать регулярное выражение? Выражение, содержащее два слеша, интерпретируется как литерал регулярного выражения.
let obj = { url: /docs/Web};// Ошибка синтаксиса: недействительный флаг "W" для регулярного выраженияИли вы хотели создать строку вместо этого? Добавьте одинарные или двойные кавычки, чтобы создать строковый литерал.
let obj = { url: "/docs/Web",};Действительные флаги регулярного выражения
Взгляните на таблицу выше, где представлены пять действительных флагов регулярного выражения, которые разрешены в JavaScript
/foo/g;/foo/gim;/foo/uy;Смотрите также
- Regular expressions
- XRegEx flags – библиотека регулярного выражения, которая предоставляет четыре новых флага (
n,s,x,A)