Хорошая статья на Habr`е: https://habr.com/ru/articles/545150/
.
- любой символa
- символ буквы "a" (тоже и с другими буквами)\n
- символ переноса строки\t
- символ табуляции
\d
- все числа, тоже что и [0-9]
\D
- всё КРОМЕ чисел\s
- все пробельные символы\S
- всё кроме пробельных символов\w
- все словестные символы (кириллица, латиница, числа, "_" и т.д.)\W
- всё, кроме словестных символовСлужебные символы необходимо экранировать, например:
\.
- символ точки (.)\\
- символ бэкслеша (\)и т.д.
*
- 0 и более раз+
- 1 и более раз?
- 0 или 1 раз
{5}
- ровно 5 раз
{1,5}
- от 1 до 5 раз{1,}
- от 1 раза{,5}
- до 5 разa+
- символ "a" 1 или более раз;.*
- любой символ 0 или более раз;(Bob)?
- группа символов "Bob" 0 или 1 раз;аб{3}
- "а" 1 раз и "б" 3 раза;()
- позволяют использовать группы элементов или просто объединять несколько символов
По умолчанию всё, что находится в круглых скобках попадает в группы (т.е. отображается в результате), чтобы этого избежать обычно используют не неиндексируемые группы:
(?: )
Например,(?:https?|ftp)://([^/\r\n]+)(/[^\r\n]*)
|
- знак логического ИЛИ^
- символ начала строки;\n$
- символ конца строки;(Bob|Alice)
- "Bob" или "Alice";^a.*c$
- начинается с символа "а" (^a
)? заканчвается на символ "с" (c$
)