next up previous index
Következő: 9.1.1.11 Csoportosítás Fel: 9.1.1 Perl magyarul Előző: 9.1.1.9.2 Módosítók   Index

9.1.1.10 Regular Expressions, reguláris kifejezések

Egy ilyen kifejezésben egy szöveghez illeszthető mintát lehet leírni. Ebbe a mintába persze belevehetünk extra dolgokat is, hogy a nekünk szükséges részt nyerjük ki a szövegből. (A UNIX grep parancsában megszokott dolgok a () csoportosító operátortól eltekintve.)

Az alapok:

 $$
\- a következő karakter speciális
 $$
- a sor elejéhez illeszkedik
 $$
.- egy tetszőleges karakterhez illeszkedik (kivéve az újsort)
 $$
$ - sor végéhez illeszkedik
 $$
|- alternatívák jelölése
 $$
() - csoportosítás
- karakter-osztály kijelölése

A . csak akkor fog az újsor karakterhez illeszkedni, ha erre az s módosítóval külön megkérjük, pl.:

$szoveg = <<VEGE;
Tobbsoros szoveg, amelyben a PERL
perl szavakat kell majd megtalalni.
VEGE

print ,,illeszkedik/s\n'' if $szoveg =~ /PERL.perl/s;	# igaz
print ,,illeszkedik/\n'' if $szoveg =~ /PERL.perl/;	# hamis

A sor eleje és vége inkább rekord elejét és végét jelenti, hiszen a nyelvben meg lehet határozni, hogy mi válassza el a sorokat ($*). Alapesetben ez persze az újsor karakter, de ezt meg lehet változtatni...

paragraphkaraktersorozatok Egy egyszerű kifejezés ismétlődését a következőkkel lehet jelölni:

Alapértelmezés szerint ekkor a leghosszabb ismétlődés fog illeszkedni ezekhez a részekhez. Ha minimális számú illeszkedést szeretnénk, akkor mindegyik után odatehetjük a ? jelet:

paragraphSpeciális karakterek

Az x módosító használatával még lehet használni más dolgokat is, de ezek szerintem már csak igen-igen ritkán kerülnek elő.


next up previous index
Következő: 9.1.1.11 Csoportosítás Fel: 9.1.1 Perl magyarul Előző: 9.1.1.9.2 Módosítók   Index

1999-09-17