Референсное руководство JavaScript RegExp

  • Предыдущая страница JS Promise
  • Следующая страница JS Set

Объект RegExp

Регулярное выражение является шаблоном символов.

Этот шаблон используется для выполнения функции «поиск и замена» для текста.

В JavaScript объект RegExp является объектом, который имеет свойства и методы.

Синтаксис

/pattern/modifier(s);

Пример

let pattern = /codew3c/i;

Попробуйте сами

Пример объяснение:

codew3c Текст, который нужно искать
/codew3c/ Регулярное выражение
/codew3c/i Регулярные выражения без учета регистра

Чтобы узнать о регулярных выражениях, пожалуйста, читайте наш Учебник JavaScript RegExp.

Дополнение

Дополнение используется для выполнения поиска без учета регистра и глобального поиска:

Дополнение Описание
g Выполнить глобальный поиск (найти все совпадения, а не останавливаться после первого совпадения).
i Выполнить поиск без учета регистра.
d Выполнить подстроковый поиск.
m Выполнить поиск нескольких строк.

Квадратные скобки

Квадратные скобки используются для поиска символов в определенном диапазоне:

Выражение Описание
[abc] Найти любые символы между скобками.
[^abc] Найти любые символы, которые не находятся в квадратных скобках.
[0-9] Найти любые числа от 0 до 9.
[^0-9] Искать любой символ, который не находится в скобках (любой ненумерический символ).
(x|y) Искать любую указанную опцию.

Метасимволы

Метасимволы - это символы, имеющие особое значение:

Метасимволы Описание
. Искать одиночный символ, кроме символа newline или end-of-line.
\w Искать символ, который является словом.
\W Искать символ, который не является словом.
\d Искать цифру.
\D Искать символ, который не является цифровым.
\s Искать пробельный символ.
\S Искать символ, который не является пробельным.
\b Искать совпадение в начале или конце слова, где начало: \bHI, а конец: HI\b.
\B Искать совпадение, но не в начале или конце слова.
\0 Искать символ NULL.
\n Искать символ newline.
\f Искать символ form feed.
\r Искать символ carriage return.
\t Искать табуляцию.
\v Искать вертикальную табуляцию.
\xxx Искать символ, определяемый восьмеричным числом xxx.
\xdd Искать символ, определяемый шестнадцатеричным числом dd.
\udddd Искать символ Unicode, определяемый шестнадцатеричным числом xxxx.

Квантификаторы

Квантификаторы Описание
n+ Совпадать с любыми строками, содержащими по крайней мере один n.
n* Совпадать с любыми строками, содержащими ноль или несколько n.
n? Совпадать с любыми строками, содержащими ноль или один n.
n{X} Совпадать с любыми строками, содержащими X n.
n{X,Y} Совпадать с любыми строками, содержащими от X до Y n.
n{X,} Совпадать с любыми строками, содержащими по крайней мере X n.
n$ Совпадать с любыми строками, которые заканчиваются на n.
^n Совпадать с любыми строками, которые начинаются с n.
?=n Совпадать с любыми строками, которые заканчиваются на заданную строку n.
?!n Совпадать с любыми строками, которые не заканчиваются на заданную строку n.

Атрибуты объекта RegExp

Атрибуты Описание
constructor Возвращает функцию, создающую прототип объекта RegExp.
global Проверять, был ли установлен модификатор "g".
ignoreCase Проверять, был ли установлен модификатор "i".
lastIndex Определять индекс начала следующего совпадения.
multiline Проверять, был ли установлен модификатор "m".
source Возвращает текст шаблона RegExp

Методы объекта RegExp

Метод Описание
compile() В версии 1.5弃用. Компилировать регулярное выражение.
exec() Тестировать совпадение элементов строки. Возвращает первый совпадающий элемент.
test() Тестировать совпадение элементов строки. Возвращает true или false.
toString() Возвращает строковое значение регулярного выражения.

Описание объекта RegExp

Объект RegExp представляет собой регулярное выражение и является мощным инструментом для выполнения шаблонного соответствия с строками.

Прямой синтаксис

/pattern/attributes

Синтаксис создания объекта RegExp:

new RegExp(pattern, attributes);

параметр

параметр pattern является строкой, которая specifies шаблон регулярного выражения или другой регулярный выражения.

параметр attributes является опциональной строкой, содержащей атрибуты "g", "i" и "m", которые используются для указания глобального соответствия, соответствия без учета регистра и многострочного соответствия. До стандартизации ECMAScript не поддерживалась атрибут m. Если pattern является регулярным выражением, а не строкой, то этот параметр должен быть опущен.

Возвратное значение

Новый объект RegExp с указанным шаблоном и флагами. Если параметр pattern является регулярным выражением, а не строкой, то конструкттор RegExp() создает новый объект RegExp с тем же шаблоном и флагами, что и заданный RegExp.

Если не использовать оператор new, а вызвать RegExp() как функцию, то его поведение будет таким же, как при вызове с оператором new, только когда pattern является регулярным выражением, оно возвращает только patternа не создается новый объект RegExp.

вызывая этот исключение

SyntaxError - если pattern не является合法ым регулярным выражением или attributes содержит символы, кроме "g", "i" и "m", вызывая этот исключение.

TypeError - если pattern является объектом RegExp, но без опущения attributes Параметр, вызывая этот исключение.

Поддержка браузерами

/regexp/ является особенностью ECMAScript1 (ES1).

Все браузеры полностью поддерживают ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Поддерживает Поддерживает Поддерживает Поддерживает Поддерживает Поддерживает

Методы объекта String, поддерживающие регулярные выражения

Метод Описание
search Искать значения, соответствующие регулярному выражению.
match Найдите одно или несколько соответствий регулярного выражения.
replace Замените подстроки, соответствующие регулярному выражению.
split Разделите строку на массив строк.
  • Предыдущая страница JS Promise
  • Следующая страница JS Set