Keskustelu:Säännöllinen lauseke

Linux.fista
Versio hetkellä 21. helmikuuta 2010 kello 01.12 – tehnyt Ordyh (keskustelu | muokkaukset) (vst)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Laajennokset

Tarkistin muutokseni jälkeen, mitä SUS/POSIX oikeasti sanoo. {m,n} on yllätykseksini mukana – tulikohan mukaan silloin vai onko muistikuvani wanhasta käyttäytymisestä väärä?

Sen sijaan ero "basic" ja "extended" välillä on, että \{, \}, \( ja \) basicissa vastaa laajennetun syntaksin merkkejä {, }, ( ja ). Tästä taisi tulla maininta. En kuitenkaan löydä merkistä + mainintaa SUS-basicissä (GNU grep käyttää basicissä merkintää "\+").

Mielestäni ympäristömuuttujat LC_CTYPE ja LC_COLLATE on syytä mainita, ainakaan suomenkieliselle niiden merkitys ei ole selvä (siis silloin, kun vain jompikumpi on tietyssä lokaalissa).

--LP 18. helmikuuta 2010 kello 14.27 (UTC)

Kirjoitin tämän lähinnä sen perusteella, mitä GNU grep:in manuaalisivulla lukee, koska se lienee relevanteinta Linux-käyttäjän näkökulmasta. Mielestäni basic- ja extended-ilmaisujen välisiä eroja on turha käsitellä erityisen tarkasti, sillä lähes ainoa missä basic-ilmaisuihin törmää, on käytettäessä grepiä ilman -E valitsinta. Toinen mahdollisuus olisi jakaa artikkeli osiin siten, että ensiksi esitellään normaali ja sitten laajennettu syntaksi. Palautin LC_CTYPE ja LC_COLLATE -huomautukset artikkeliin. --Ordyh 18. helmikuuta 2010 kello 18.26 (UTC)
GNU (e)grep on hyvä lähtökohta, varsinkin jos GNU extended nykyään on sama kuin POSIX extended (tavallinen käyttäjä ei tarvinne basiciä). Mielestäni on kuitenkin tärkeä huomauttaa eroista, ettei Linux ajaudu erilleen muusta Unix-maailmasta ("kaikillahan on Word" :-( ). --LP 18. helmikuuta 2010 kello 22.26 (UTC)
Artikkelissa on nyt huomioitu GNU grepin syntaksin yhteensopivuus POSIX-syntaksin kanssa --Ordyh 20. helmikuuta 2010 kello 22.12 (UTC)