A Regular Expression vagy röviden regex, magyarul szabályos kifejezések néven fordítható. Néha szokták regex helyett regexp-ként is rövidíteni. Összehasonlításokat végezhetünk egy szöveg és egy adott minta között.
#!/usr/bin/env perl $str = "abd"; if($str =~ m/ab?/) { print "Egyezik\n"; }else { print "Nem egyezik\n"; }
$mystring !~/blahblah/;
/^Jóska/
/Jóska$/
/a[bo]c/
Akkor egyezik, ha középen „b” vagy „o” karakter van.
Bármilyen egy darab karakterre egyezik, kivéve újsor.
/a.c/
Ha „a” és „c” között nincs karakter, akkor nincs egyezés.
/a.+c/
Ekkor „a” és „c” karakter között több bármilyen karakter is lehet. De ha egy sincs, akkor nem egyezik.
/a.*c/
Itt már akkor is egyezik, ha „a” és „c” karakter között egyetlen karakter sincs.
A Perl nyelv alpértelmezetten Case Sensitive, azaz kisbetű nagybetű érzékeny. Tehát ha adott a /Perl/ minta, az nem egyezik a „perl” szóval, csak ha a „p” az nagybetű.
Módosítóval rávehetjük a Perlt, hogy ne legyen érzékeny a kis és nagybetűk különbségére:
/perl/i A módosítót az utolsó „/” jel után tesszük.
Más módosítók:
Módosító | Használat |
---|---|
i | Kis- és nagybetű érzékenység kikapcsolva |
g | Minden előfordulás keresése |
m | Több soros. Újsorok jelölése ^ és $ karakterekkel |
s | Egyetlen sorként kezeljük. Így egy /./ esetén az újsor is egyezik |
x | Szabályos kifejezések bővítése (megjegyzésekkel és elválasztó karkterekekkel |