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\.\-]+

11/2/2018 4:19:14 PM


Please leave your feedback about this article