This page was translated from English by the community.Learn more and join the MDN Web Docs community.
RegExp.$1-$9
Не стандартно: Эта функция не стандартизирована. Мы не рекомендуем использовать нестандартные функции в действующих проектах, так как их поддержка браузерами ограничена, а поведение может измениться или быть удалено. Тем не менее, в некоторых случаях, когда нет стандартного решения, они могут быть подходящей альтернативой.
Нестандартные свойства$1, $2, $3, $4, $5, $6, $7, $8, $9 являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденные подстроки, обёрнутые в скобки.
In this article
Синтаксис
RegExp.$1RegExp.$2RegExp.$3RegExp.$4RegExp.$5RegExp.$6RegExp.$7RegExp.$8RegExp.$9
Описание
Свойства $1, ..., $9 являются статичными, они не являются свойствами конкретного объекта регулярного выражения, поэтому вы всегда можете использовать их какRegExp.$1, ...,RegExp.$9.
Значения этих свойств не доступны для изменения, они модифицируются всякий раз при успешном совпадении регулярного выражения.
Количество возможных подстрок в круглых скобках неограничено, но объектRegExp может содержать в себе только последние 9. Вы можете получить доступ ко всем подстрокам, совпавшим с выражениями внутри круглых скобок, с помощью индексов возвращённого массива.
Эти свойства могу использоваться при замене текста в методеString.replace. Когда используете его, не добавляйте их вRegExp. Пример ниже демонстрирует правильное применение. Когда круглые скобки не включены в регулярное выражение, код интерпретирует такие значения, как$n буквально, как литерал (n - положительное число).
Примеры
>Использование$n соString.replace
Следующий код использует методreplace() строки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"Спецификации
Не стандартизированной. Не является частью какой-либо спецификации