Референсное руководство 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