Регулярные выражения — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 43: | Строка 43: | ||
'''Позиция внутри строки''' | '''Позиция внутри строки''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- |
Версия 17:49, 12 ноября 2020
Квантификаторы
? {0,1} a? одно или ноль вхождений "а" + {1,} a+ одно или более вхождений "а" * {0,} a* ноль или более вхождений "а"
Модификаторы
Символ «минус» (-) меред модификатором (за исключением U) создаёт его отрицание.
g - глобальный поиск (обрабатываются все совпадения с шаблоном поиска) i - игнорировать регистр m - многострочный поиск. Пояснение: по умолчанию текст это одна строка, с модификатором есть отдельные строки, а значит ^- начало строки в тексте, $- конец строки в тексте. s - текст воспринимается как одна строка, спец символ «точка» (.) будет включать и перевод строки u - используется кодировка UTF-8 U - инвертировать жадность x - игнорировать все неэкранированные пробельные и перечисленные в классе символы
Спецсимволы
() - подмаска, вложенное выражение [] - групповой символ {a,b} - количество вхождений от "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 | 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/