Konštrukcie regulárnych výrazov

Regulárne výrazy použité pri vyhľadávaní a segmentácii sú tie, ktoré podporuje Java. Ak potrebujete špecifickejšie informácie, prosím prezrite si http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html.

Na webe môžete nájsť tutoriály (napríklad http://www.regular-expressions.info/quickstart.html.)

Nasledujúca konštrukcia:

Zodpovedá nasledujúcej sekvencii:


Označenia

(?i) Umožňuje hľadanie bez ohľadu na veľkosť písmen (predvolene vzor rozlišuje veľkosť písmen).

Znaky

x Znak x, s výnimkou nasledujúcich...
\uhhhh Znak s hexadecimálnou hodnotou 0xhhhh
\t Znak tabulátora ('\u0009')
\n Znak nového riadku (konca riadku) ('\u000A')
\r Znak návratu vozíka ('\u000D')

Citácia

\ Nič, ale cituje nasledujúci znak. Toto sa vyžaduje ak by ste chceli zadanie metaznakov !$()*+.<>?[\]^{|} aby zodpovedali sami sebe.
\\ Napríklad, toto je znak spätného lomítka
\Q Nič, ale cituje všetky znaky až po \E
\E Nič, ale končí citáciu začatú pomocou \Q

Triedy znakov

[abc] a, b, or c (jednoduchá tried)
[^abc] Akýkoľvek znak s výnimkou a, b, or c (negácia)
[a-zA-Z] a až po z alebo A až po Z, vrátane (rozsah)

Preddefinované triedy znakov

. Akýkoľvek znak (okrem znakov ukončujúcich riadok)
\d Číslica: [0-9]
\D Nečíslica: [^0-9]
\s Biely znak: [ \t\n\x0B\f\r]
\S Nebiely znak: [^\s]
\w Znak slova: [a-zA-Z_0-9]
\W Nie znak slova: [^\w]

Označenie hraníc

^ Začiatok riadku
$ Koniec riadku
\b Hranica slova
\B Nie hranica slova

Viacnásobné kvantifikátory

Tieto budú predstavovať toľko, koľko len môžu. Napríklad, a+ bude zodpovedať aaa v aaabbb
X? X, raz alebo vôbec
X* X, nula alebo viackrát
X+ X, raz alebo viackrát

Nedobrovoľné kvantifikátory

Tieto budú predstavovať tak málo, ako len môžu. Napríklad, a+? bude zodpovedať prvému a v aaabbb
X?? X, raz alebo vôbec
X*? X, nula alebo viackrát
X+? X, raz alebo viackrát

Logické operátory

XY X nasledované Y
X|Y Buď X, alebo Y
(XY) XY ako jediná skupina

Právne poznámky