Регулярные выражения
Знак | Значение | Пример |
. | Любой одинарный символ, кроме переноса строки (\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