Kommentteja perlre suomennukseen.
Jukka Tapani Juslin
jtj at niksula.hut.fi
Sun May 2 13:46:47 CDT 1999
Heip!
Sain jonkinlaisen aloitelman tuosta käännöksestä tehtyä. Siinä ei ole
perlre edes vielä ihan kokonaan, mutta jos tuohon saisi jotain kommentteja
niin voisi tuota hommaa jatkaa.
Olisihan se hienoa, jos vähän saataisiin noita käännettyä. Onko kukaan muu
tehnyt mitään?
t.Jukka
jtj at leija.cs.hut.fi
---
Personal page (picture of me and contact info) http://www.hut.fi/~jtjuslin
-------------- next part --------------
PERLRE(1) Perl ohjelmoijan viiteteos PERLRE(1)
NIMI
perlre - Perlin säännölliset lausekkeet
KUVAUS
Tämä sivu kuvaa perlin säännöllisten lausekkeiden syntaksin. Jos
haluat tietää kuinka säännöllisiä lausekkeita käytetään sovittamis
operaatiossa, sekä esimerkkejä samasta, katso m// ja s/// perlop
manuaalisivuilta.
Sovitus operaatiolla voi olla useanlaisia muuntimia. Muuntimet,
jotka liittyvät säännöllisten lausekkeiden tulkkaamiseen on listattu
alla. Muuntimet, jotka muuntavat operaation luonnetta, katso
m// osio perlop man-sivuilta ja s// samasta paikasta.
i Tee sovitus kirjaisimen koosta välittämättä
Jos use locale on voimassa, kirjasinkartta otetaan
silloisesta ympäristöstä. Katso perllocale man-sivut.
m Käsittele merkkijonoa useina riveinä. Se on, muuta "^"
ja "$" osumasta merkkijonon loppuun tai alkuun osumaan
tämän sijasta alkamaan sovittamisen minkä tahansa
merkkijonon alusta tai lopusta.
s Käsittele merkkijonoa yhtenä rivinä. Se on, muuta "."
osumaan mihin tahansa merkkiin ikinä, jopa rivinvaihto-
merkkiin, johon se ei yleensä osuisi.
x Väljennä jonosi sovitusehtoja hyväksymällä välilyönnit
ja kommentit.
Nämä kirjoitetaan yleensä "/x muunnin", vaikka erotin ei aina
ole kauttaviiva. Itse asiassa, mikä tahansa näistä muuntimista
voi olla sulautettuna säännälliseen lausekkeeseen itseensä
käyttäen uutta (?...) rakennetta. Katso alla.
/x muunnin itse tarvitsee hieman lisää selitystä. Se kertoo
säännöölisten lausekkeiden sovitus-koneelle olla ottamatta
huomioon välilyöntejä, jotka eivät ole kenoviivojen välissä
eivätkä merkkijonon sisällä. Voit käyttää tätä säännöllisten
lausekkeitesi rikkomiseen (hieman) luettavampaan muotoon.
# merkkiä käsitellään myös meta-merkkinä aloittamassa kommentin,
kuten normaalissa Perl koodissa. Tämä tarkoittaa myös, että jos
etsit merkkijonosta välilyöntiä tai #-merkkiä, sinun täytyy
joko tehdä 'escape' merkki niiden eteen tai koodata escape
käyttäen oktaali- tai heksajärjestelmää. Yhteenvetona voidaan
sanoa, että nämä ominaisuudet tekevät Perlin säännöllisistä
lausekkeista huomattavasti luettavampia. Katso C:n kommentin
poistokoodi perlop man-sivuilta.
18/Apr/99 perl 5.004_02 1
PERLRE(1) Perl ohjelmoijan viiteteos PERLRE(1)
Säännölliset lausekkeet
Merkkijonot, joita käytetään merkintunnistukseen ovat säännöllisiä
lausekkeita kuten ne, jotka toimitettiin säännölliste lausekkeiden
versiossa 8. (Itseasiassa, rutiinit on johdettu (kaukaisesti)
Hanry Steinerin vapaasti jaettavasta uudelleen toteutetusta
V8 rutiini joukosta.) Katso osio Version 8 Regular Expressions
yksityiskohtia varten.
Erityisesti seuraaville meta-merkeillä on vakioidut egrep
tarkoituksensa:
\ Kommentoin seuraava metamerkki
^ Sovita rivin alusta lähtien
. Hyväksy mikä tahansa merkki (lukuunottamatta
rivinvaihto)
$ Sovita rivin lopusta alkaen (tai ennen rivinvaihtoa
lopussa)
| Muuntomerkki
() Ryhmittely
[] Merkkiluokka
Vakiona "^" merkki on taatusti yrittää sovittaa vain merkkijonon
alussa, "$" merkki lopussa (tai ennen rivinvaihtoa lopussa) ja
Perl tekee tiettyjä optimointeja oletuksella, että merkkijono
käsittää vain yhden rivin. Sulautettuja rivinvaihtoja ei soviteta
"^" tai "$" avulla. Voit kuitenkin toivoa käsitteleväsi
merkkijonoja monirivisenä puskurina niin että "^" sovittaa minkä-
tahansa rivinvaihdon jälkeen, ja "$" rivinvaihtoa ennen. Pienen
ylimääräisen työn avulla voit tehdä tämän käyttääen /m muunninta
sovittamis-operaatiossa. (Vanhemmat ohjelmat tekivät tämän
asettamalla $*, mutta tämä käytäntö on muuttunut (vanhat
ohjelmat menevät kuitenkin tulkista läpi).
Hyödyntääksesi monirivisiä korvaus-operaatiota, "." merkki ei
ikinä sovita rivinvaihtoa ellet käytä /s muunninta, joka käskee
Perlin tulkita merkkijono yksirivisenä vaikka se ei olisikaan.
/s muunnin on voimakkaampi kuin $* tapauksessa että sinulla
on (huonosti käyttäytyvää) vanhaa koodia, joka määrittää sen toi-
sesta moduulista käsin.
Seuraavat standardoidut kvantifioijat ovat tunnettuja:
* Osu 0 tai useamman kerran
+ Osu 1 tai useamman kerran
? Osu 1 tai 0 kertaa
{n} Osu tarkalleen n kertaa
{n,} Osu vähintään n kertaa
{n,m} Osu vähintään n mutta ei enempää kuin m kertaa
(Jos aaltosulkua käytetään muussa yhteydessä, sitä käsitellään
tavallisena merkkinä.) "*" muunnin on vastaava kuin {0,}, "+"
muunnin kuin {1,}, ja "?" muunnin kuin {0,1}. n ja m ovat
rajoitetut vakioarvoihin, jotka ovat pienempiä kuin 65536.
19/Apr/99 perl 5.004_02 2
PERLRE(1) Perl ohjelmoijan viiteteos PERLRE(1)
Oletuksena, kvantifioija alijono on "ahne", se on, se sovittaa
niin monta kertaa kuin mahdollista (annetusta aloituskohdasta)
samalla sallien loppujen käskyjen myös sovittaa. Jos haluat
sovittaa mandollisimman vähäisen määrän, lisää kvantifioian
perään "?". Huomaa että merkitys ei muutu, vain "ahneus":
*? Osu 0 tai useamman kerran
+? Osu 1 tai useamman kerran
?? Osu 1 tai 0 kertaa
{n}? Osu tarkalleen n kertaa
{n,}? Osu vähintään n kertaa
{n,m}? Osu vähintään n mutta ei enempää kuin m kertaa
Koska merkkijonoa sovitaan kuin lainausmerkeissä olevia merkkejä,
seuraava toimii myös:
\t tabulaatori (HT, TAB)
\n rivinvaihto (LF, NL)
\r return (CR)
\f form feed (FF)
\a piippaus (BEL)
\e escape (vrt. troff) (ESC)
\033 oktaali-merkki (vrt. PDP-11)
\x1B heksa-merkki
\c[ kontrolli-merkki
\l alenna kirjasin (vrt. vi)
\u ylennä kirjasin (vrt. vi)
\L alennas kunnes \E (vrt. vi)
\U ylennä kunnes \E (vrt. vi)
\E loppu kirjasimen muunnin (vrt. vi)
\Q kommentoi säännöllisten lausekkeiden meta-merkit
kunner \E
Jos use locale on käytössä, merkkikartta jota \I, \L, \u ja
<\U> käyttävät on otettu kulloisestakin ympäristöstä. Katso
perllocale mansivut.
Lisäksi, Perl määrittää seuraavat:
\w Sovita "sana" merkit (numerot ja "_")
\W Sovita ei-sana merkit
\s Sovita välilyöntimerkit
\S Sovita ei-välilyöntimerkit
\d Sovita numeromerkit
\D Sovita ei-numeromerkit.
Huomaa että \w sovittaa yksittäiset kirjainnumeeriset merkit, ei
koko sanaa. Sovittaaksesi sanan sinun täyty sanoa \w+. Jos
use locale on käytössä, lista aakkosista jotaka \w on generoinut
on käytössä silloisesta ympäristöstä.
KÄÄNTÄJÄ
Jukka Juslin <jtjuslin at cc.hut.fi>
More information about the Helsinki-pm
mailing list