Tämä dokumentti on taulukoitu kooste säännöllisten lausekkeiden (engl. lyhenne "regexp") syntaksista Perl-kielessä. Lopuksi on joitakin esimerkkejä.
Metamerkit
Jos haluat metamerkin mukaan sellaisenaan ilman
erikoismerkitystä, kirjoita ennen sitä Edelläolevan taulukon ensimmäisen sarakkeen merkit ovat linkkejä englanninkielisiin kuvauksiin sivulla The ISO Latin 1 character repertoire - a description with usage notes. Huomaa että kirjaimen ulkoasu (glyyfi) voi vaihdella käytettävän ohjelman, laitteen tai kirjasimen mukaan. |
Toisto
Lue "a" edellä
"osumia merkkijonoihin, joista jokainen sopii
hahmoon a".
Lyhin mahdollinen osuma tarkoittaa, että valitaan vähiten merkkejä
vaativa osuma, joka sopii hahmoon.
Oletusarvo on "ahne sovitus",
mikä tarkoittaa että valitaan pisin mahdollinen osuma.
toisto |
\
-merkillä
|
|
\w | "sanamerkki" (=numero,
kirjain tai _ ) |
\W | muu kuin "sanamerkki" |
\s | tyhjä merkki (välilyönti, tabulaattori tai rivinvaihto) |
\S | muu kuin tyhjä merkki |
\d | numero (sama kuin
[0-9] ) |
\D | muu kuin numero |
[
...]
-merkinnän sisälläMerkitys muuttuu merkkijoukon sisällä,
joten
[
...]
-merkinnän sisällä on käytettävä
näitä merkintöjä.
[ merkit] |
sopii mihin tahansa luetelluista merkeistä |
[ x- y] |
sopii mihin tahansa ASCII-koodauksessa välille x-y osuvaan merkkiin. |
[\-] | Sopii merkkiin - |
[\n ] | sopii rivinvaihtoon; muutkin
\ -merkillä alkavat erikoismerkinnät
tulkitaan normaalisti
|
[^ jotakin] |
sopii kaikkiin muihin merkkeihin paitsi niihin joihin
[ jotakin] sopii; siis heti
alkavan hakasulun jälkeen tuleva ^ tarkoittaa "ei seuraavia".
|
lauseke | sopii... |
---|---|
abc |
abc (täsmälleen nuo merkit peräkkäin, mutta missä
tahansa kohtaa merkkijonoa) |
^abc |
abc merkkijonon alussa
|
abc$ |
abc merkkijonon lopussa
|
a|b |
joko a tai b
|
^abc|abc$ |
abc joko merkkijonon alussa tai lopussa
|
ab{2,4}c |
yksi a , sitten 2, 3 tai 4 b :tä, sitten
yksi c
|
ab{2,}c |
yksi a , sitten ainakin kaksi b :tä,
sitten c
|
ab*c |
yksi a , sitten nollasta äärettömään b :tä, sitten
c
|
ab+c |
yksi a , sitten yksi tai useampi b :tä,
sitten c
|
ab?c |
Yksi a , jota voi mahdollisesti seurata yksi b ,
sitten c ; siis joko abc tai ac
|
a.c |
Yksi a jota seuraa mikä tahansa merkki (paitsi ei
rivinvaihto) ja sitten c
|
a\.c |
täsmälleen a.c ; pisteen erikoismerkitys eskapoidaan
|
[abc] |
joko a , b tai c |
[Aa]bc |
joko Abc tai abc |
[abc]+ |
mikä tahansa (ei-tyhjä) merkeistä a , b ja
c's koostuva merkkijono (esimerkiksi a ,
abba , acbabcacaa ) |
[^abc]+ |
mikä tahansa (ei-tyhjä) merkkijono jossa ei ole
a -, b -
tai c -merkkiä (esimerkiksi
defg ) |
\d\d |
mitkä tahansa kaksi numeroa, esimerkiksi 42 ;
sama kuin \d{2} |
\w+ |
"sana": ei-tyhjä jono kirjaimia, numeroita ja alaviivoja, esimerkiksi
foo ,
12bar8 tai foo_1
|
100\s*mk |
merkkijonot 100 ja mk siten että välissä saa
olla miten paljon tyhjää
(välilyöntejä, tabulaattoreita, rivinvaihtoja) tahansa |
abc\b |
abc "sanan" lopussa (esimerkiksi abc! osuu mutta abcd ei) |
perl\B |
merkkijono perl joka ei lopeta sanaa
(perlisti sopii, perl-kieli ei sovi) |
Näissä esimerkeissä käytetään vain hyvin yksinkertaisia
säännöllisiä lausekkeita. Tarkoituksena on näyttää vain
ympäristö jossa niitä voi käyttää, ja samalla esitellä muutama
"lippu" joilla vaikuttaa sovitukseen ja korvaukseen.
Huomaa erityisesti, että sovitus on oletusarvoisesti
kirjainkoosta riippuvaa.
(Abc
ei sovi merkkijonoon abc
ellei
niin erikseen määrätä).
s/foo/bar/;
vaihtaa ensimmäisen merkkijonon foo
esiintymän
merkkijonoksi bar
"nyt käsiteltävässä muuttujassa" (siis
erikoismuuttujassa $_
);
esimerkiksi foolish bigfoot
muuttuu muotoon
barlish bigfoot
s/foo/bar/g;
vaihtaa kaikki merkkijonon abc
esiintymät
merkkijonoksi bar
"nyt käsiteltävässä muuttujassa";
esimerkiksi foolish bigfoot
muuttuu muotoon
barlish bigbart
s/foo/bar/gi;
muuttaa jokaisen merkkijonon
foo
esiintymän kirjainkoosta riippumatta
"nyt käsiteltävässä muuttujassa" merkkijonoksi
bar
(mm. Foo
ja FOO
vaihtuvat myös merkkijonoksi
bar
)
if(m/foo/)
...
katsoo esiintyykö nyt käsiteltävässä muuttujassa merkkijono foo
.
Alkuperäisen englanninkielisen dokumentin on kirjoittanut Jukka Korpela ja tämän käännöksen on tehnyt Jori Mäntysalo. Käännös on tehty 2000-10-30 viimeksi muokatun version perusteella.