Perl регулярни изрази, компютър, програмиране

Регулярните изрази са модели за намиране на дадени комбинации от символи в текстови низове и замяната им с други комбинации от символи (тези операции се наричат ​​съответно съвпадение на шаблони и заместване).

Регулярният израз в PERL е

Тук шаблонът е низ, указващ регулярен израз, а модификаторите са незадължителни еднобуквени модификатори, които определят правилата за използване на този регулярен израз.

Регулярният израз може да бъде съставен от регулярни символи; в този случай тя ще съответства на посочената комбинация от символи в низа. Например изразът/cat/съответства на избраните поднизове в следните редове: "коткадобре "," закотка"," вкоткаНо това, което наистина прави регулярните изрази на PERL наистина мощни, е възможността да се използват специални метасимволи.

Модификатори

Различните операции с регулярни изрази използват различни модификатори, за да прецизират операцията, която изпълняват. Четирите модификатора обаче имат общо предназначение.

Класове символи на Unicode и POSIX

Можем да използваме синтаксиса в регулярни изрази

където класът указва името на клас символи POSIX, т.е. мобилния стандарт за C. Когато използвате директивата use utf8 вместо POSIX класове, можете да използвате класовете Unicode символи в конструкцията

Следващата таблица обобщава всички класове POSIX символи, съответстващи Unicode класове символи и метасимволи, ако има такива.

Например десетично число може да бъде посочено по всеки от следните три начина:

За да се посочи, че даден символ не принадлежи към даден клас, се използват конструкции

Например следните изрази имат същото значение:

Запаметяване на поднизове

Използването на скоби в регулярен израз води до подниза, който съответства на скобения модел, да се съхранява в специален буфер. За достъп до n-тия запомнен подниз вътре в регулярния израз използвайте \ n конструкцията, а извън нея - $ n, където n може да приема всякакви стойности, започващи от 1. Не забравяйте обаче, че PERL използва изрази \ 10, \ 11 и т.н. и т.н. като синоними на осмични символни кодове \ 010, \ 011 и др. Неяснотата тук се решава, както следва. Символът \ 10 се счита за препратка към 10-ия запомнен подниз, ако в регулярния израз има поне десет леви скоби пред него; в противен случай това е знак с осмичен код 10. Метасимволите \ 1, ... \ 9 винаги се считат за препратки към запаметени поднизове. Примери: