Sestavki iz regularnih izrazov

Za iskanje in za pracila se uporablja regularne izraze, kot jih podpira Java. Če potrebujete bolj konkretno informacijo, si prosimo oglejte http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Oglejte si literaturo on primere spodaj. 

Zastavice

Znaki

Citat

Razredi za Unicode bloke in kategorije

Znakovni nizi

Vnaprej definirani znakovni razredi

Zadetki za meje

Požrešni kvantifikatorji

Nezahtevni kvantifikatorji (ki niso požrešni)

Logični operatorji

Orodja in primeri uporabe regularnih (Regex) izrazov

    

 


Konstrukt...

...ustreza naslednjemu:


Zastavice

(?i)

Omogoči iskanje brez razlikovanja velikih ali malih črk (privzeto vzorec ločuje velike in male črke).


Znaki

x

Znak x, razen v primeru...

\uhhhh

Znak s heksadecimalno vrednostjo 0xhhhh

\t

Tabulator ('\u0009')

\n

Znak za novo vrstico - line feed -('\u000A')

\r

Znak za povratek voza - carriage return - ('\u000D')

\f

Znak za novo stran ('\u000C')

\a

Znak za zvonec ('\u0007')

\e

Ubežni znak ('\u001B')

\cx

Kontrolni znak, ki ustreza x

\0n

Znak z oktalno vrednostjo 0n (0 <= n <= 7)

\0nn

Znak z oktalno vrednostjo 0nn (0 <= n <= 7)

\0mnn

Znak z oktalno vrednostjo 0mnn (0 <= m <= 3, 0 <= n <= 7)

\xhh

Znak s heksadecimalno vrednostjo 0xhh


Citat

\

Nič, vendar citira naslednji znak. Potrebno, kadar želite enega od meta znakov !$()*+.<>?[\]^{|}navesti dobesedno.

\\

Na primer išče poševnico nazaj.

\Q

Nič, citira pa vse znake do \E

\E

Nič, vendar zaključi citat, ki se je začel z \Q


Razredi za Unicode bloke in kategorije

\p{InGreek}

Znak v grškem bloku (enostaven blok)

\p{Lu}

Velika črka (enostavna kategorija)

\p{Sc}

Znak za denarno enoto

\P{InGreek}

Katerikoli znak, razen znakov grškem bloku (negacija)

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

Kakršenkoli znak razen velikih črk (subtrakcija)


Znakovni nizi

[abc]

a, b, or c (enostavni razred)

[^abc]

Katerikoli znak z izjemo a, b, or c (zanikanje)

[a-zA-Z]

a do z ali A do Z, vključno (obseg)


Vnaprej definirani znakovni razredi

.

Katerikoli znak (z izjemo konca vrstice)

\d

Števka: [0-9]

\D

Neštevka: [^0-9]

\s

Znak za presledek: [ \t\n\x0B\f\r]

\S

Znaki, ki ni presledek: [^\s]

\w

Besedni znak: [a-zA-Z_0-9]

\W

Nebesedni znak: [^\w]


Zadetki za meje

^

Začetek vrstice

$

Konec vrstice

\b

Besedna meja

\B

Nebesedna meja


Požrešni kvantifikatorji

Skušali bodo najti, kolikor le morejo. Na primer, a+ bo ustrezalo aaa v aaabbb

X?

X, enkrat ali nikoli

X*

X, nič- ali večkrat

X+

X, najmanj enkrat


Nezahtevni kvantifikatorji (ki niso požrešni)

Našli bodo tako malo, kot se le da. Na primer, a+? bo našel prvi a v aaabbb

X??

X, enkrat ali nikoli

X*?

X, nič- ali večkrat

X+?

X, najmanj enkrat


Logični operatorji

XY

X, ki mu sledi Y

X|Y

Ali X ali Y

(XY)

XY kot ena sama skupina



Orodja in primeri uporabe regularnih (Regex) izrazov


Za razvijanje in testiranje regularnih izrazov obstaja obilica interaktivnih orodij. V glavnem so vsa narejena po istem kopitu (glejte spodaj primer raz#iritve za Firefox): Regularni izraz (vnos na vrhu) analizira besedilo, ki se ga preiskuje (polje na sredi) in zadetke se prikazuje v polju spodaj

FireFox dodatek za testiranje regularnih izrazov

Oglejte si The Regex Coach verzije za Windows,Linux, Mac, FreeBSD, ki so več ali manj identične s primerom zgoraj.

Lepo zbirko regularnih izrazov boste našli v samem OmegaT (glejte Možnosti > Segmentacija). V naslednjem seznamu boste našli nekaj regularnih izrazov, ki vam bodo lahko da koristni pri prevajanju:

Regularni izraz Išče naslednje:
(\b\w+\b)\s\1\b
dvojne besede 
[\.,]\s*[\.,]+ zamešane vejice in pike
\. \s$ nepotrebne presledke za piko na koncu vrstice.
\s+a\s+[aeiou]  angleščina:  pred besedami, ki se začnejo s samoglasnikom, ne sme stati "a"
\s+an\s+[^aeiou]  angleščina: podobno kot zgoraj, vedar za soglasnike ("a", ne pa "an")
\s\s+ več kot en presledek
\.[A-Z] lahko da med piko in začetkom novega stavka manjka presledek.



Pravni poduk Domov Kazalo