$ – конец строки
| – альтернатива (или)
() – группировка
[] – класс символов
Метасимволы имеют модификаторы (пишутся после метасимвола):
* – повторяется 0 или большее число раз
+ – повторяется 1 или большее число раз
? – 1 или 0 раз
{n} – точно n раз
{n,} – по меньшей мере раз
{n,m} – не менше n, но и не больше m
Во все других случаях фигурные скобки считаются обычными (регулярными) символами. Таким образом '*' эквивалентна {0,} , '+' – {1,} и '?' – {0,1}. n и m не могут быть больше 65536.
По умолчанию действие метасимволов «жадно» (greedy). Совпадение распространяется столько раз сколько возможно не учитывая результат действия следуюющих метасимволов. Если вы хотите «уменьшить их аппетит» то используйте символ '?'. Это не изменяет значение метасимволов просто уменьшает распространение. Таким образом:
*? – станет 0 и более
+? – 1 и более
?? – 0 или 1 раз
{n}? – точно n раз
{n,}? – не меньше n раз
{n,m}? – больше или равно n и меньше m раз
Шаблоны работают так же как и двойные кавычки поэтому в них можно использовать `` – символы (бакслэш-символы):
– символ табуляции
– новая строка
– перевод каретки
A – перевол формата
v – вертикальная табуляция
a – звонок
e – escape