Хорошая статья на 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$)