Регулярные выражения
Знак
Значение
Пример
.
Любой одинарный символ, кроме переноса строки (\n)
\d
Цифровой символ
[0-9]
\D
Не цифровой символ
\s
Пробельный символ, дополнительно включает в себя символы: \t - табуляция, \n - перенос строки, \v - вертикальная табуляция, \f - конец файла, \r - возврат каретки.
\S
Все, кроме: символов пробела, табуляции, переноса строки, вертикальной табуляции, конца файла, возврата каретки.
\w
Цифры, английские буквы, символ нижнего подчеркивания "_"
[a-zA-Z0-9]
\W
Не цифры, английские буквы, символ нижнего подчеркивания "_"
\b
Граница слова, между началом текста и словом, между словом и словом, между не словом и словом, между словом и концом текста.
\B
Все, кроме границ слова, например внутри слова
[ ]
Любой из набора внутри кавычек
[^ ]
Любой не входящий в набор
[а-я] не исключает ё. надо - [a-ё]
a-b
"-" диапазон, находит первое вхождение
\p{ }
Поиск Юникода, используется с флагом "u"
\p{Sc}
Квантификаторы
{ n - n+1}
Количество поисков. Старается повториться наибольшее количество повторений. В выражении /d{3, 4} для "10000" выберет "1000" (жадный)
{1-3} от одного до трех; {3, 4} три или четыре
{ n - n+1}?
В выражении /d{3, 4}? для "10000" выберет "100" (ленивый)
{3, } от трех до бесконечности;
*
Повторить от 0 до до бесконечности
+
Повторить от 1 до до бесконечности
?
Повторить от 0 до 1
()
Скобочная группа. К группе можно применять квантификаторы.
(?:[ ]) - скобочная группа исключенная из запоминания
\N
Обратная ссылка в шаблоне, применяется к скобочным группам, где N номер скобочной группы.
(....)(....)\1
(?<name>)
Имя скобочной группы (name)
(?<sep>....)(.../k<sep>)
X(?=Y)
Находит Х, если за ним следует Y
X(!=Y)
Находит Х, если за ним НЕ следует Y
(?<=Y)X
Находит Х, если следует за Y
(?<!Y)X
Находит Х, если НЕ следует за Y
|
Знак альтернации используется в качестве ИЛИ
b|d - найти "b" или "d"
Флаги: /регулярное выражение/флаг
g
Поиск глобально, т.е. не останавливается после найденного значения
s
С этим флагом "." обозначает любой символ, включая перенос строки
i
Не зависит от регистра
y
указывает что необходимо производить поиск на указанной позиции(через lastindex).
u
Поиск Юникода, поддерживается не во всех браузерах
m
Выполнять поиск для каждой строчки
Якоря
^
Начало текста или строки, если есть флаг "m"
$
Конец текста или строки, если есть флаг "m"
Объявление
Методы для строк
match - выводит результат в массив. Если значение одно, то результат - объект, если значений много, то результат массив из "результата" поиска.
matchAll - если значений много, то результат массив из массивов. Поддерживают не все браузеры.
search - В случае если поиск удачный, то выводит номер, где нашел. В случае если совпадения нет, то -1.
split - разбивает текст на массив подстрок.
replace - находит и заменяет подстроку в строке. Имеет ряд специальных символов. $& - вставляет все найденные совпадения. $` - вставляет все, что было найдено до совпадения. $' - вставляет все, что было найдено после совпадения. $1 $2 $N - Обратная ссылка в шаблоне, где N это номер скобочной группы. $<name> - Обратная ссылка в шаблоне, где name это имя скобочной группы.
Методы для регулярного выражения
exec -
lastindex - начинает поиск с указанной позиции.
test - если текст совпадает с регулярным выражением, то возвращается true
Видеоуроки
Last updated
Was this helpful?