Ero sivun ”Säännöllinen lauseke” versioiden välillä

Siirry navigaatioon Siirry hakuun
126 merkkiä lisätty ,  21. helmikuuta 2010
posix-huomautus
(universialisuudesta "+" pois, lausejärjestys; x+=xx*; rivinvaihto)
(posix-huomautus)
Rivi 3: Rivi 3:
Tässä artikkelissa on esitetty johdatus säännöllisiin lausekkeisiin siten, miten komentorivityöklu <tt>[[grep]]</tt> ne ymmärtää ''laajennettussa'' (engl. extended) tilassa. Perusoperaattorit (<tt>*</tt>, <tt>?</tt>, sulut) ovat ''universaaleja'', eli kaikki toteutukset tukevat niitä. Kaikissa säännöllisten lausekkeiden toteutuksissa syntaksi ei kuitenkaan ole aivan sama.  
Tässä artikkelissa on esitetty johdatus säännöllisiin lausekkeisiin siten, miten komentorivityöklu <tt>[[grep]]</tt> ne ymmärtää ''laajennettussa'' (engl. extended) tilassa. Perusoperaattorit (<tt>*</tt>, <tt>?</tt>, sulut) ovat ''universaaleja'', eli kaikki toteutukset tukevat niitä. Kaikissa säännöllisten lausekkeiden toteutuksissa syntaksi ei kuitenkaan ole aivan sama.  


Säännöllisistä lausekkeista on yleisesti käytössä kolme tyyppiä: ''tavallinen'' (engl. basic), ''laajennettu ''(engl. extended) ja ''[[Perl]]-tyyppinen''. Tässä ohjeessa esitetty syntaksi on yhteensopiva Linuxin [[GNU]]-grepin laajennetun syntaksin kanssa jollei toisin mainita. Varsinkin useassa järjestelmässä käytettäviä [[skripti|skriptejä]] kirjoitettaessa täytyy olla huolellinen siinä, mitkä rakenteet ovat uudempia laajennoksia.
Säännöllisistä lausekkeista on yleisesti käytössä kolme tyyppiä: ''tavallinen'' (engl. basic), ''laajennettu ''(engl. extended) ja ''[[Perl]]-tyyppinen''. Tässä ohjeessa esitetty syntaksi on yhteensopiva Linuxin [[GNU]]-grepin laajennetun syntaksin kanssa jollei toisin mainita. GNU grepin syntaksi taas on yhteensopiva [[POSIX]]-standardin mukaisten säännöllisten lausekkeiden kanssa. Varsinkin useassa järjestelmässä käytettäviä [[skripti|skriptejä]] kirjoitettaessa täytyy olla huolellinen siinä, mitkä rakenteet ovat uudempia laajennoksia. Erotuksena grep myös käsittelee syötettä rivi riviltä. Toisissa ohjelmissa saatetaan käsitellä rivinvaihtoa tavallisena merkkinä.
 
grep käsittelee syötettä rivi riviltä. Toisissa ohjelmissa saatetaan käsitellä rivinvaihtoa tavallisena merkkinä.


Säännöllisiä lausekkeita ei tule sekoittaa tiedostonimi-jokereihin (glob), joilla on samantapainen toiminnallisuus (vrt. <tt>*</tt> ja <tt>.*</tt>). Tiedostonimijokereita ja säännöllisiä lausekkeita voi hydöyntää usein samoissa yhteyksissä, mutta säännölliset lausekkeet ovat tiedostonimijokereita ilmaisuvoimaisempia.
Säännöllisiä lausekkeita ei tule sekoittaa tiedostonimi-jokereihin (glob), joilla on samantapainen toiminnallisuus (vrt. <tt>*</tt> ja <tt>.*</tt>). Tiedostonimijokereita ja säännöllisiä lausekkeita voi hydöyntää usein samoissa yhteyksissä, mutta säännölliset lausekkeet ovat tiedostonimijokereita ilmaisuvoimaisempia.
150

muokkausta

Navigointivalikko