Регулярные выражения — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 30: | Строка 30: | ||
'''\r''' - возврат каретки | '''\r''' - возврат каретки | ||
'''\s''' - [ \t\v\r\n\f] пробельный символ | '''\s''' - [ \t\v\r\n\f] пробельный символ | ||
− | '''\S''' - [^\s] любой символ, кроме | + | '''\S''' - [^\s] любой символ, кроме пробельного |
'''\t''' - табуляция | '''\t''' - табуляция | ||
'''\w''' - [0-9a-z_] любая цифра, буква или знак подчеркивания | '''\w''' - [0-9a-z_] любая цифра, буква или знак подчеркивания |
Версия 13:27, 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
http://website-lab.ru/article/regexp/shpargalka_po_regulyarnyim_vyirajeniyam/