Повечето букви и символи просто ще съвпадат със самите себе си. Например, регулярният израз "test" просто и точно ще съвпада със символния низ "test". (Можете да включите режим, нечувствителен към разликата между малки и големи букви, който ще позволи на този РИ да съвпадне също така и с "Test" или "TEST". Но повече за това -- по-късно.)
Има изключения от това правило -- някои символи са особени и не съвпадат със самите себе си. Вместо това те сигнализират, че трябва да паснат с нещо необикновено, или чрез повторение те се отразяват на някои други части от РИ. Голяма част от този документ е посветена на обсъждането на различни метасимволи и тяхното действие.
Ето един пълен списък на метасимволите; тяхното значение ще бъде обсъдено в останалата част от това КАК-ДА:
. ^ $ * + ? { [ \ | ( )
Метасимволите не са активни вътре в класовете. Например [akm$] ще пасне с всеки от символите "a", "k", "m", или "$"; "$" обикновено е метасимвол, но вътре в класа от символи той е лишен от особената си природа.
Допълвайки набора, можете да пасвате символи, които не са в дадения
диапазон. Това се посочва чрез добавянето на "^" като първи символ
от класа. Поставен където и да е другаде, "^" просто ще съвпада със
символа "^". Например, [^5]
ще пасне с всеки символ, с
изключение на "5".
Може би най-важният метасимвол е обратно наклонената черта, "\". Както и при символните низове в Питон, обратно наклонената черта може да бъде последвана от различни символи за да се обозначат различни специални последователности. Тя също се използва и за да се избегнат всички метасимволи така че все пак да можете да ги използвате за съпоставка в образци. Например, ако искате да съвпаднете "[" или "\", те трябва бъдат предшествани от обратно наклонена черта за да се премахне специалното им значение: \[ или \\.
Някои от тези специални последователности представят предварително дефинирани набори от символи, които много често влизат в употреба, като например наборът от цифри, или наборът от латински букви, или наборът от всички символи, които не са празни (whitespace). На разположение са следните предварително дефинирани специални последователности:
\d
\D
[^0-9]
.
\s
\S
[^ \t\n\r\f\v]
.
\w
\W
[^a-zA-Z0-9_]
.
Тези последователности могат от своя страна да бъдат включвани в класове от символи. Например, [\s,.] е клас от символи, който пасва с всеки празен символ, или "," или ".".
Последният метасимвол в този раздел е .. Той пасва с всичко, освен
със символа за нов ред. Но съществува и алтернативен режим,
(re.DOTALL
), при който той ще пасне дори със символ за нов ред.
"." се използва често там, където искате да пасне който и
да е символ.