Регулярные выражения — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 38: | Строка 38: | ||
'''[]''' - | '''[]''' - | ||
'''{a,b}''' - | '''{a,b}''' - | ||
− | ''' | + | '''↓''' - логическое "или", в случае с односимвольными альтернативами используйте [] |
'''\''' - экранирование спец символа | '''\''' - экранирование спец символа | ||
'''.''' - любой символ, кроме перевода строки | '''.''' - любой символ, кроме перевода строки |
Версия 10:02, 13 ноября 2020
Квантификаторы
Аналог | Пример | Описание | |
---|---|---|---|
? | {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/