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

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.