From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/errors/bad_regexp_flag/index.html | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html (limited to 'files/ru/web/javascript/reference/errors/bad_regexp_flag') diff --git a/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html new file mode 100644 index 0000000000..6e3604af66 --- /dev/null +++ b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html @@ -0,0 +1,102 @@ +--- +title: 'SyntaxError: invalid regular expression flag "x"' +slug: Web/JavaScript/Reference/Errors/Bad_regexp_flag +translation_of: Web/JavaScript/Reference/Errors/Bad_regexp_flag +--- +
{{jsSidebar("Errors")}}
+ +

Сообщение

+ +
SyntaxError: invalid regular expression flag "x" (Firefox)
+SyntaxError: Invalid regular expression flags (Chrome)
+
+ +

Тип ошибки

+ +

{{jsxref("SyntaxError")}}

+ +

Что пошло не так?

+ +

В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключенный между двумя слэшами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функции {{jsxref("RegExp")}} object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очередности, но в ECMAScript их только пять.

+ +

Чтоб включить флаг в регулярное выражение, используйте синтаксис:

+ +
var re = /pattern/flags;
+
+ +

или

+ +
var re = new RegExp('pattern', 'flags');
+ +

Флаги регулярного выражения

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ФлагОписание
gГлобальный поиск.
iНечувствительный к регистру поиск.
mПоиск по всем строкам.
uUnicode; обрабатывать шаблон как последовательность кода Unicode
yВыполняет «липкий» поиск, который будет начинаться с текущей позиции в целевой строке. Cм. {{jsxref("RegExp.sticky", "sticky")}}
+ +

Примеры

+ +

Существует только пять действительных флагов регулярных выражений.

+ +
/foo/bar;
+
+// Ошибка синтаксиса: недействительный флаг "b" для регулярного выражения
+
+ +

Вы намеревались создать регулярное выражение? Выражение, содержащее два слэша, интерпретируется как литерал регулярного выражения.

+ +
let obj = {
+  url: /docs/Web
+};
+
+// Ошибка синтаксиса: недействительный флаг "W" для регулярного выражения
+
+ +

Или вы хотели создать строку вместо этого? Добавьте одинарные или двойные кавычки, чтобы создать строковый литерал. 

+ +
let obj = {
+  url: '/docs/Web'
+};
+ +

Действительные флаги регулярного выражения 

+ +

Вгляните на таблицу выше, где представлены пять действительных флагов регулярного выражения, которые разрешены в JavaScript

+ +
/foo/g;
+/foo/gim;
+/foo/uy;
+
+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf