Regularne vyrazy

V nižšie uvedenej tabuľke sa nachádzajú regulárne výrazy, ktoré možno použiť na vytvorenie slovníka vlastného jazyka.

Názov položky Dohodnutý symbol regulárneho výrazu Príklady použitia a vysvetlenia
Ľubovoľný znak . c.t — označuje slová typu „cat“, „cot“, atď.
Znak zo skupiny []

[b-d]ell — označuje slová ako „bell“, „cell“, „dell“, atď.

[ty]ell — označuje slová ako „tell“ a „yell“.

Znak, ktorý nie je zo skupiny [^]

[^y]ell — označuje slová ako „dell“, „cell“, „tell“, ale nepovoľuje „yell“

[^n-s]ell — označuje slová ako „bell“, „cell“, ale nepovoľuje „nell“, „oell“, „pell“, „qell“, „rell“ a „sell“

Alebo | c(a|u)t — označuje slová ako „cat“ a „cut“
0 alebo viac výskytov * 10* — označuje čísla 1, 10, 100, 1000 atď.
1 alebo viac výskytov + 10+ — umožňuje čísla 10, 100, 1000 atď., avšak zakazuje 1
Písmeno alebo číslica [0-9a-zA-Zа-яА-Я]

[0-9a-zA-Zа-яА-Я] — umožňuje ktorékoľvek jedno písmeno

[0-9a-zA-Zа-яА-Я]+ — umožňuje ktorékoľvek slovo

Veľké písmeno latinky [A-Z]
Malé písmeno latinky [a-z]
Veľké písmeno cyriliky [А-Я]
Malé písmeno cyriliky [а-я]
Číslica [0-9]
@ Vyhradené.

Poznámka:

  1. Ak chcete použiť symbol regulárneho výrazu ako normálny znak, napíšte pred ním opačnú lomku. Napríklad [t-v]x+ reprezentuje slová ako tx, txx, atď., ux, uxx, atď., ale \[t-v\]x+ reprezentuje slová ako [t-v]x, [t-v]xx, [t-v]xxx, atď.
  2. Na spojenie elementov regulárnych výrazov do skupín použite zátvorky. Napríklad, (a|b)+|c reprezentuje písmeno c alebo ľubovoľné kombinácie ako abbbaaabbb, ababab, atď. (slovo ľubovoľnej nenulovej dĺžky, v ktorom môže byť ľubovoľný počet písmen „a“ alebo „b“ v akomkoľvek poradí), kým a|b+|c reprezentuje a, c, a tiež b, bb, bbb, atď.

Príklady

Predpokladajme, že rozpoznávate tabuľku s tromi stĺpcami: dátumy narodenia, mená a e-mailové adresy. V tomto prípade si môžete vytvoriť dva nové jazyky, dátumy a adresy, a nastaviť pre ne nasledujúce regulárne výrazy.

Regulárne výrazy pre dátumy:

Číslo označujúce deň môže pozostávať z jednej číslice (1, 2 atď.) alebo z dvoch číslic (napr. 02, 12), ale nemôže to byť nula (00 alebo 0). Regulárny výraz pre deň by mal potom vyzerať takto: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

Regulárny výraz pre mesiac by mal vyzerať takto: ((|0)[1-9])|(10)|(11)|(12).

Regulárny výraz pre rok by mal vyzerať takto: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Teraz to potrebujeme dať všetko dokopy a oddeliť čísla bodkami (napr. 1.03.1999). Bodka je symbol regulárneho výrazu, takže pred ňu musíte vložiť opačnú lomku (\).

Regulárny výraz pre úplný dátum by mal potom vyzerať takto:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])

Regulárny výraz pre e-mailovú adresu:

[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+

11/2/2018 4:19:56 PM


Please leave your feedback about this article