Регулярные выражения
Версия от 18:08, 12 ноября 2020; Root (обсуждение | вклад)
Квантификаторы
| Аналог | Пример | Описание | |
|---|---|---|---|
| ? | {0,1} | a? | одно или ноль вхождений "а" |
| + | {1,} | a+ | одно или более вхождений "а" |
| * | {0,} | a* | ноль или более вхождений "а" |
Модификаторы
Символ «минус» (-) меред модификатором (за исключением U) создаёт его отрицание.
| Описание | |
|---|---|
| g | глобальный поиск (обрабатываются все совпадения с шаблоном поиска) |
| i | игнорировать регистр |
| m | многострочный поиск. Пояснение: по умолчанию текст это одна строка, с модификатором есть отдельные строки, а значит ^- начало строки в тексте, $- конец строки в тексте. |
| s | текст воспринимается как одна строка, спец символ «точка» (.) будет включать и перевод строки |
| u | используется кодировка UTF-8 |
| U | инвертировать жадность |
| x | игнорировать все неэкранированные пробельные и перечисленные в классе символы |
Спецсимволы
() -
[] -
{a,b} -
| - логическое "или", в случае с односимвольными альтернативами используйте []
\ - экранирование спец символа
. - любой символ, кроме перевода строки
\d - [0-9] десятичная цифра
\D - [^\d] любой символ, кроме десятичной цифры
\f - конец (разрыв) страницы
\n - перевод строки
\pL - буква в кодировке UTF-8 при использовании модификатора u
\r - возврат каретки
\s - [ \t\v\r\n\f] пробельный символ
\S - [^\s] любой символ, кроме пробельного
\t - табуляция
\w - [0-9a-z_] любая цифра, буква или знак подчеркивания
\W - [^\w] любой символ, кроме цифры, буквы или знака подчеркивания
\v - вертикальная табуляция
Спецсимволы внутри символьного класса
^ - [^da] отрицание, любой символ кроме "d" или "a" - - [a-z] интервал, любой символ от "a" до "z"
| Аналог | Описание | |
|---|---|---|
| () | подмаска, вложенное выражение | |
| [] | групповой символ | |
| {a,b} | количество вхождений от "a" до "b" | |
| Текст ячейки | ||
| \ | Текст ячейки | |
| . | Текст ячейки | |
| \d | Текст ячейки | |
| \D | Текст ячейки | |
| \f | Текст ячейки | |
| \n | Текст ячейки | |
| \pL | Текст ячейки | |
| \r | Текст ячейки | |
| \s | Текст ячейки | |
| \S | Текст ячейки | |
| \t | Текст ячейки | |
| \w | Текст ячейки | |
| \W | Текст ячейки | |
| \v | Текст ячейки |
Позиция внутри строки
| Пример | Соответствие | Описание | |
|---|---|---|---|
| ^ | ^a | aaa aaa | начало строки |
| $ | a$ | aaa aaa | конец строки |
| \A | \Aa | aaa aaa aaa aaa |
начало текста |
| \z | a\Z | aaa aaa aaa aaa |
конец текста |
| \b | a\b \ba |
aaa aaa aaa aaa |
граница слова, утверждение: предыдущий символ словесный, а следующий - нет, либо наоборот |
| \B | \Ba\B | aaa aaa | отсутствие границы слова |
| \G | \Ga | aaa aaa | Предыдущий успешный поиск, поиск остановился на 4-й позиции — там, где не нашлось a |
Примеры
[0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3} - ипишка
[0-9]{1,3}[\.]{3}[0-9]{1,3} - ипишка, в более короткой форме
http://website-lab.ru/article/regexp/shpargalka_po_regulyarnyim_vyirajeniyam/