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/global_objects/regexp/n/index.html | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/regexp/n/index.html (limited to 'files/ru/web/javascript/reference/global_objects/regexp/n/index.html') diff --git a/files/ru/web/javascript/reference/global_objects/regexp/n/index.html b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html new file mode 100644 index 0000000000..a785e92f01 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html @@ -0,0 +1,64 @@ +--- +title: RegExp.$1-$9 +slug: Web/JavaScript/Reference/Global_Objects/RegExp/n +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/n +--- +
{{JSRef}} {{non-standard_header}}
+ +

Нестандартные свойства $1, $2, $3, $4, $5, $6, $7, $8, $9 являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденые подстроки, обернутые в скобки.

+ +

Синтаксис

+ +
RegExp.$1
+RegExp.$2
+RegExp.$3
+RegExp.$4
+RegExp.$5
+RegExp.$6
+RegExp.$7
+RegExp.$8
+RegExp.$9
+
+ +

Описание

+ +

Свойства $1, ..., $9 являются статичными, они не являются свойствами конкретного объекта регулярного выражения, поэтому вы всегда можете использовать их как RegExp.$1, ..., RegExp.$9.

+ +

Значения этих свойств не доступны для изменения, они модифицируются всякий раз при успешном совпадении регулярного выражения.

+ +

Количество возможных подстрок в круглых скобках неограничено, но объект RegExp может содержать в себе только последние 9. Вы можете получить доступ ко всем подстрокам, совпавшим с выражениями внутри круглых скобок, с помощью индексов возвращенного массива.

+ +

Эти свойства могу использоваться при замене текста в методе {{jsxref("String.replace")}}. Когда используете его, не добавляйте их в RegExp. Пример ниже демонстрирует правильное применение. Когда круглые скобки не включены в регулярное выражение, код интерпритирует такие значения, как $n буквально, как литерал (n - положительное число).

+ +

Примеры

+ +

Использование $n со String.replace

+ +

Следующий код использует метод {{jsxref("String.prototype.replace()", "replace()")}} строки {{jsxref("String")}}, чтобы преобразовать строку в формате Имя Фамилия в формат Фамилия, Имя. В коде замены текста используются $1 и $2 чтобы указать порядок вывода результата совпадений полученных при сравнивании с шаблоном регулярного выражения, имеющего круглые скобки.

+ +
var re = /(\w+)\s(\w+)/;
+var str = 'John Smith';
+str.replace(re, '$2, $1'); // "Smith, John"
+RegExp.$1; // "John"
+RegExp.$2; // "Smith"
+
+ +

Спецификация

+ +

Не стандартизированно. Не является частью какой-либо спецификации

+ +

Совместимость с браузерами

+ +

{{Compat("javascript.builtins.RegExp.n")}}

+ +
+ +

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

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