Regulaaravaldised: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 15: Line 15:
= Regulaaravaldiste süntaks =
= Regulaaravaldiste süntaks =


* [] - märgivalik või vahemik ('''näide 1:''' m[aeo]kk tähendab sõnu makk, mekk, mokk; '''näide2:''' versioon[01-03] tähendab versioon01, versioon02, versioon03)
* [] - märgivalik või vahemik ('''näide 1:''' m[aeo]kk tähendab sõnu makk, mekk, mokk; '''näide 2:''' versioon[01-03] tähendab versioon01, versioon02, versioon03)
* . - tähemärk (näide: s.en tähendab seen, s@en, s!en, saen, ... ) ''NB! tähemärke võib ka mitu tükki järjest olla, sellisel juhul tuleb lihtsalt nii mitu punkti lisada, kui mitu tähemärkki vaja on''
* . - tähemärk (näide: s.en tähendab seen, s@en, s!en, saen, ... ) ''NB! tähemärke võib ka mitu tükki järjest olla, sellisel juhul tuleb lihtsalt nii mitu punkti lisada, kui mitu tähemärkki vaja on''
* ^ - rea algus (näide: kui kasutada grep rakendusega ''^bat'' tingimust mingil failil, siis otsitaks selle faili iga rea alguses esinevat fraasi "bat")
* ^ - rea algus (näide: kui kasutada grep rakendusega ''^bat'' tingimust mingil failil, siis otsitaks selle faili iga rea alguses esinevat fraasi "bat")
* $ - rea lõpp (näide: kui kasutada grep rakendusega ''$
* $ - rea lõpp (näide: kui kasutada grep rakendusega ''$
* * - suvaline sümbol (suvaline arv sümboleid) ('''näide 1:''' au* tähendab austraalia, austria, ...; ehk siis tärnist eelnevad sümbolid jäetakse alles; '''näide 2:''' find *.* leiab kõik failid, kus sees on punkt)
* - tärn: suvaline arv, sh 0 temast vasakule jäävat sümbolit
[...] - klass: üks vahel olevatest sümbolitest
^ - katus: rea algus
$ - dollar: rea lõpp
\ - tagurpidi kaldkriips: põgeb talle järgneva metasümboli.


= Regulaaravaldise koostamine =
= Regulaaravaldise koostamine =

Revision as of 21:49, 6 November 2012


Eellugu

See referaat on valminud õppeaine operatsioonisüsteemide administreerimine ja sidumine (I233) raames 2012/2013 õppeaastal. Töö lõplikuks autoriks on Sten Aus (rühm A22), aluseks on võetud Carolys Kallas (rühm A22) referaat aastast 2011. Kuna referaat praktiliselt koosneski ühest lausest, siis viide algsele teosele on eemaldatud. Seda on võimalik vaadata selle lehe Wiki ajaloost.

Referaadi teema on valitud autori poolt 29. oktoobril 2012. aastal.

Sissejuhatus regulaaravaldistesse

Regulaaravaldis (regular expression; regexp) on olemuselt string (elemendi- või märgijada [1]), mis sisaldab endas teisi stringe, mis on teatud korra- ja reeglipäraselt üksteise järel ritta seatud. Regulaaravaldisi kasutatakse paljudes kohtades - peamiselt küll UNIX-i laadsetes süsteemides, aga näiteks ka programmeerimiskeeltes nagu näiteks PHP, Perl jt. [2]

Esialgu võib regulaaravaldiste teema tunduda algajale väga keeruline ja raske, kuid fundamentaalteadmiste omandamisel on sellest tööriistast väga palju kasu.

Regulaaravaldiste süntaks

  • [] - märgivalik või vahemik (näide 1: m[aeo]kk tähendab sõnu makk, mekk, mokk; näide 2: versioon[01-03] tähendab versioon01, versioon02, versioon03)
  • . - tähemärk (näide: s.en tähendab seen, s@en, s!en, saen, ... ) NB! tähemärke võib ka mitu tükki järjest olla, sellisel juhul tuleb lihtsalt nii mitu punkti lisada, kui mitu tähemärkki vaja on
  • ^ - rea algus (näide: kui kasutada grep rakendusega ^bat tingimust mingil failil, siis otsitaks selle faili iga rea alguses esinevat fraasi "bat")
  • $ - rea lõpp (näide: kui kasutada grep rakendusega $
  • * - suvaline sümbol (suvaline arv sümboleid) (näide 1: au* tähendab austraalia, austria, ...; ehk siis tärnist eelnevad sümbolid jäetakse alles; näide 2: find *.* leiab kõik failid, kus sees on punkt)


  • - tärn: suvaline arv, sh 0 temast vasakule jäävat sümbolit

[...] - klass: üks vahel olevatest sümbolitest ^ - katus: rea algus $ - dollar: rea lõpp \ - tagurpidi kaldkriips: põgeb talle järgneva metasümboli.



Regulaaravaldise koostamine

Kasutatud kirjandus

http://vallaste.ee/sona.asp?Type=UserId&otsing=495

http://www.cyberciti.biz/tips/unix-linux-regular-expressions-regex-howto-tutorial.html



(Carolys materjal)

UNIX juhend - Regulaaravaldised http://www.eenet.ee/EENet/assets/docs/abs/mall.html#regexp

Kuutõrvaja http://kuutorvaja.eenet.ee/programmeerimine/regulaaravaldised.html

Regular expression http://en.wikipedia.org/wiki/Regular_expression