Регулярные выражения — различия между версиями
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/