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
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:
- * - 0 vagy több
- + - 1 vagy több
- ? - 0 vagy 1
- {n} - pontosan n-szer
- {n,} - n-szer vagy többször
- {n,m} - n
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:
- ,,hhhhhh'' =/h{2,4}/; # itt ,,hhhh'' fog illeszkedni
- ,,hhhhhh'' =/h{2,4}?/; # itt csak ,,hh''
paragraphSpeciális karakterek
- \t tabulátorjel
- \n újsor
- \r return
- \f form feed
- \v vertical tab
- \a csengő
- \e escape
- \033 oktális számrendszerben megadott karakter
- \x1b karakter hexadecimálisan
- \c[ kontrol karakter
- \l kisbetű
- \u nagybetű
- \L kisbetű \E-ig
- \U nagybetű \E-ig
- \E ...
- \Q metakarakterek normálisak \E-ig
- \w ,,szó'' karakter (alfanumerikus és _)
- \W nem-szó karakter
- \s whitespace
- \S nem whitespace
- \d számjegy
- \D nem számjegy
- \b szóhatárhoz illeszkedik
- \B nem szóhatár
- \A string elejéhez illeszkedik
- \Z string vége
- \G oda illeszkedik, ahol az előző illesztés
végetért
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ő.
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