Regularni vyrazy

Níže uvedená tabulka uvádí regulární výrazy, které lze použít k vytvoření slovníku uživatelského jazyka.

Název položky Standardní symbol regulárního výrazu Příklady a vysvětlení použití
Libovolný znak . r.k — znamená „rak“, „rek“ apod.
Znak ze skupiny []

[k–m]ola — znamená „kola“, „lola“, „mola“ apod.

[kh]ola — znamená „kola“ a „hola“

Znak, který není ve skupině [^]

[^h]ola — znamená „kola“, „lola“, „mola“, ale zakazuje „hola“

[^k-m]ola — znamená „hola“, ale zakazuje „kola“, „lola“ a „mola“

Nebo | r(a|e)k — znamená „rak“ a „rek“
0 nebo více shod * 10* — znamená čísla 1, 10, 100, 1 000 atd.
1 nebo více shod + 10+ — povoluje čísla 10, 100, 1 000, atd., ale zakazuje číslo 1
Písmeno nebo číslice [0-9a-zA-Zа-яА-Я]

[0-9a-zA-Zа-яА-Я] — povoluje jakýkoli jednotlivý znak

[0-9a-zA-Zа-яА-Я]+ — povoluje jakékoli slovo

Velké písmeno latinky [A-Z]
Malé písmeno latinky [a-z]
Velké písmeno cyrilice [А-Я]
Malé písmeno cyrilice [а-я]
Číslice [0-9]
@ Vyhrazeno.

Poznámka:

  1. Chcete-li používat znak regulárního výrazu jako běžný znak, napište před něj zpětné lomítko. Například [t-v]x+ zastupuje tx, txx, txx, atd., ux, uxx atd., ale \[t-v\]x+ zastupuje [t-v]x, [t-v]xx, [t-v]xxx atd.
  2. Chcete-li prvky regulárního výrazu seskupit, použijte závorky. Například (a|b)+|c zastupuje c nebo libovolnou kombinaci jako např. abbbaaabbb, ababab atd. (slovo určité nenulové délky, ve kterém může být libovolný počet písmen a nebo b v libovolném pořadí), zatímco a|b+|c zastupuje a, c a b, bb, bbb atd.

Příklady

Předpokládejme, že rozpoznáváte tabulku se třemi sloupci: daty narození, jmény a e-mailovými adresami. V tomto případě můžete vytvořit dva nové jazyky, datum a adresu, a zadat pro ně následující regulární výrazy.

Regulární výrazy kalendářních dat:

Číslo označující den může obsahovat jednu číslici (1, 2 atd.) nebo dvě číslice (02, 12), nesmí však být nula (00 nebo 0). Regulární výraz dne by měl vypadat takto: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

Regulární výraz měsíce by měl vypadat takto: ((|0)[1-9])|(10)|(11)|(12).

Regulární výraz roku by měl vypadat takto: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Nakonec ještě zbývá zkombinovat vše dohromady a oddělit čísla tečkami (např. 1.03.1999). Tečka je znak regulárního symbolu, takže před ni musíte napsat zpětné lomítko (\).

Regulární výraz celého data by měl vypadat 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ární výraz e-mailové adresy:

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

02.11.2018 16:19:14

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.