Почти всички метасимволи (включително точката .
, +
, *
и ?
квантори, котвата в края на низа $
, и т.н.) нямат специално значение в символните класове, с няколко забележителни изключения:
- затваряща скоба
]
, по очевидни причини - карета
^
, който се използва за отричане на символния клас (напр.:[^ab]
съответства на който и да е знак ноa
иb
). - тире
-
, който се използва за обозначаване на диапазон (напр.:[0-9]
съвпада с всяка цифра)
Въпреки това, те все още могат да бъдат добавени без екраниране, ако са поставени на стратегически места в класа на знаците:
- затварящата скоба може да бъде поставена точно след отварящата скоба, напр.:
[]a]
съответства на]
илиa
. - каретката може да бъде поставена където и да е освен след отварящата скоба, напр.:
[a^]
съвпада с^
илиa
- тирето може да се постави точно след отварящата скоба или преди затварящата скоба, напр.:
[-a]
и[a-]
и двете съответстват наa
и-
.
Повече информация можете да намерите в страницата на ръководството на POSIX regex
(благодаря на Томалак Герет'кал!)