Adierazpen erregularrak

Bilaketetan eta segmentazio-arauetan erabiltzen diren adierazpen erregularrak (laburtuz, regex-ak) Javak onartzen dituenak dira. Informazio zehatzagoa behar baduzu, kontsultatu http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Ikus erreferentzia eta adibide geghiao beherago. 

Banderak

Karaktereak

Komatxoak

Klaseak Unicode bloke eta kategorietarako

Karaktere-klaseak

Aurredefinitutako karaktere-klaseak

Muga-formak

Zenbatzaile asezinak

Zenbatzaile motelak (aseak)

Eragile logikoak

Regex tresnak eta adibideak

    

 


Hurrengo adierazpena...

... hurrengoarekin bat dator:


Banderak

(?i)

Maiuskulak/minuskulak bereizten ez dituen bilaketa ahalbidetzen du (portaera lehenetsia bereiztea da)


Karaktereak

x

x karakterea, ondokoak salbu...

\uhhhh

0xhhhh balio hamaseitarra duen karakterea

\t

Tabuladore-karakterea ('\u0009')

\n

Lerro berria sortzeko karakterea ('\u000A')

\r

Orga-itzuleraren karakterea ('\u000D')

\f

Orri-jauzien karakterea ('\u000C')

\a

Alerta (kanpaitxoa) karakterea ('\u0007')

\e

Ihes-karakterea ('\u001B')

\cx

x-i dagokion kontrol-karakterea

\0n

0n balio zortzitarra duen karakterea (0 <= n <= 7)

\0nn

0nn balio zortzitarra duen karakterea (0 <= n <= 7)

\0mnn

0mnn balio zortzitarra duen karakterea (0 <= m <= 3, 0 <= n <= 7)

\xhh

0xhh balio hamaseitarra duen karakterea


Komatxoak

\

Ondoren datorren karakterea komatxo artean jartzen du. Hau derrigorrezkoa da !$()*+.<>?[\]^{|} metakaraktereak bilatu nahi badituzu.

\\

Esaterako, hau alderantzizko barra da.

\Q

\E dagoen tokira arteko karaktere guztiak komatxo artean jartzen ditu

\E

\Q bidez hasi diren komatxoen amaiera


Klaseak Unicode bloke eta kategorietarako

\p{InGreek}

Karaktere bat grezierazko blokean (bloke sinplea)

\p{Lu}

Letra maiuskula bat (kategoria sinplea)

\p{Sc}

Moneta-ikurra

\P{InGreek}

Edozein karaktere, grezierazko blokekoa salbu (ezeztapena)

[\p{L}&&[^\p{Lu}]]

Edozein letra, letra maiuskula bat salbu (kenketa)


Karaktere-klaseak

[abc]

a, b, edo c (klase sinplea)

[^abc]

Edozein karaktere, a, b, edo c salbu (ezeztapena)

[a-zA-Z]

a-tik z-ra edo A-tik Z-ra, (tartea)


Aurredefinitutako karaktere-klaseak

.

Edozein karaktere (lerro-amaierak salbu)

\d

Digitu bat: [0-9]

\D

Digitua ez den karaktere bat: [^0-9]

\s

Zuriune bat: [ \t\n\x0B\f\r]

\S

Zuriunea ez den karaktere bat: [^\s]

\w

Hizki bat: [a-zA-Z_0-9]

\W

Hizkia ez den karaktere bat: [^\w]


Muga-formak

^

Lerroaren hasiera

$

Lerroaren amaiera

\b

Hitz-muga

\B

Hitzak ez diren karaktere-multzoen muga


Zenbatzaile asezinak

Hauek ahalik eta baliokide gehien bilatuko dituzte. Esaterako, a+ formak aaa aurkituko du aaabbb katean

X?

X, zero edo bat

X*

X, zero edo gehiago

X+

X, bat edo gehiago


Zenbatzaile motelak (aseak)

Hauek ahalik eta baliokide gutxien bilatuko dituzte. Esaterako, a+? formak lehen a aurkituko du aaabbb katean

X??

X, zero edo bat

X*?

X, zero edo gehiago

X+?

X, bat edo gehiago


Eragile logikoak

XY

X eta ondoren Y

X|Y

X zein Y

(XY)

XY multzo bakar gisa



Regex tresnak eta adibideak


Hainbat tresna interaktibo existitzen da adierazpen erregularrak garatu eta probatzeko. Denek jarraitzen dute eredu bera (ikus behean adibide bat Firefoxerako plugin batekin): adierazpen erregularrak (goiko sarrera) bilaketa-testua analizatzen du (erdialdean ageri den kutxa), agerraldi-kopurua emanez (emaitzen kutxan erakusten dira).

adierazpen erregularren plugin probatzailea Firefoxerako

Ikus baita ere The Regex Coach Windows, Linux, Mac eta FreeBSD-rako. Tresna autonomo honek goiko adibidean erakutsiko emaitzen oso antzekoak ematen ditu.

OmegaT-k berak regex kasuen bilduma ona eskaintzen du (ikus Aukerak > Segmentazioa...). Hurrengo zerrendan itzulpen-memorietan barrena bilaketak egiterakoan erabilgarriak izan daitezkeen zenbait adierazpen ematen dira:

Adierazpen erregularra Hurrengoa aurkitzen du:
(\b\w+\b)\s\1\b
hitz bikoitzak 
[\.,]\s*[\.,]+ komak eta puntuak nahastean
\. \s$ soberako zuriuneak puntuen ondoren lerroen amaieran
\s+a\s+[aeiou]  Ingelesez: bokalez hasten diren hitzek "an" eraman behar dute aurretik, ez "a"
\s+an\s+[^aeiou]  Ingelesez: goikoaren berdina, baina kontsonanteentzat ("a", ez "an")
\s\s+ zuriune bat baino gehiago
\.[A-Z] zuriunerik eza puntu baten ondoren eta esaldi baten hasieran



Legezko oharrak Orri nagusia Aurkibidea