Регулярные выражения — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
'''g''' - глобальный поиск (обрабатываются все совпадения с шаблоном поиска) | '''g''' - глобальный поиск (обрабатываются все совпадения с шаблоном поиска) | ||
'''i''' - игнорировать регистр | '''i''' - игнорировать регистр | ||
− | '''m''' - многострочный поиск. | + | '''m''' - многострочный поиск. Пояснение: по умолчанию текст это одна строка, с модификатором есть отдельные строки, а значит ^- начало строки в тексте, $- конец строки в тексте. |
− | '''s''' - текст воспринимается как одна строка, спец символ «точка» (.) будет | + | '''s''' - текст воспринимается как одна строка, спец символ «точка» (.) будет включать и перевод строки |
'''u''' - используется кодировка UTF-8 | '''u''' - используется кодировка UTF-8 | ||
'''U''' - инвертировать жадность | '''U''' - инвертировать жадность | ||
Строка 22: | Строка 22: | ||
'''|''' - логическое "или", в случае с односимвольными альтернативами используйте [] | '''|''' - логическое "или", в случае с односимвольными альтернативами используйте [] | ||
'''\''' - экранирование спец символа | '''\''' - экранирование спец символа | ||
− | '''.''' - любой | + | '''.''' - любой символ, кроме перевода строки |
'''\d''' - [0-9] десятичная цифра | '''\d''' - [0-9] десятичная цифра | ||
'''\D''' - [^\d] любой символ, кроме десятичной цифры | '''\D''' - [^\d] любой символ, кроме десятичной цифры | ||
Строка 53: | Строка 53: | ||
aaa aaa граница слова, утверждение: предыдущий символ словесный, а следующий - нет, либо наоборот | aaa aaa граница слова, утверждение: предыдущий символ словесный, а следующий - нет, либо наоборот | ||
\B \Ba\B aaa aaa отсутствие границы слова | \B \Ba\B aaa aaa отсутствие границы слова | ||
− | \G \Ga aaa aaa | + | \G \Ga aaa aaa предыдущий успешный поиск, поиск остановился на 4-й позиции — там, где не нашлось a |
http://website-lab.ru/article/regexp/shpargalka_po_regulyarnyim_vyirajeniyam/ | http://website-lab.ru/article/regexp/shpargalka_po_regulyarnyim_vyirajeniyam/ |
Версия 13:35, 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/