Hakutoiminnoissa ja segmentointisäännöissä käytetään Java-ohjelmointikielen tukemia säännöllisiä lausekkeita (lyhyesti: regex). Jos haluat tarkempaa tietoa säännöllisistä lausekkeista, tutustu Javan regex-dokumentaatioon. Lisää esimerkkejä on alla.
Tämä kappale on tarkoitettu edistyneille käyttäjille, jotka haluavat määritellä omia segmentointisääntöjä tai laatia monimutkaisia ja tehokkaita hakuavaimia.
Taulu D.1. Regex – Merkinnät
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| (?i) | Ottaa käyttöön kirjainkoosta riippumattomat osumat (oletusasetuksena on, että osumat huomioivat kirjainkoon). | 
Taulu D.2. Regex – Merkki
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| x | Merkki x, paitsi seuraavat… | 
| \uhhhh | Merkki, jonka heksadesimaaliarvo on 0xhhhh | 
| \t | Sarkainmerkki (\u0009) | 
| \n | Rivinvaihtomerkki (\u000A) | 
| \r | Vaununpalautusmerkki (\u000D) | 
| \f | Sivunvaihdon merkki (\u000C) | 
| \a | Hälytyksen (kello) merkki (\u0007) | 
| \e | Koodinvaihtomerkki (\u001b) | 
| \cx | Koodinvaihtomerkki, joka vastaa x:ää | 
| \0n | Merkki, jonka oktaaliarvo on 0n (0 <= n <= 7) | 
| \0nn | Merkki, jonka oktaaliarvo on 0nn (0 <= n <= 7) | 
| \0mnn | Merkki, jonka oktaaliarvo on 0mnn (0 <= m <= 3, 0 <= n <= 7) | 
| \xhh | Merkki, jonka heksadesimaaliarvo on 0xhhhh | 
Taulu D.3. Regex – Lainausmerkit
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| \ | Tyhjä, mutta lainaa seraavaa merkkiä Tätä tarvitaan silloin, kun haluat etsiä osumia jollekin metamerkille ( !$()*+.<>?[\]^{|} ). | 
| \\ | Esimerkiksi tämä on kenoviiva. | 
| \Q | Tyhjä, mutta lainaa kaikkia merkkejä merkkiin \E asti | 
| \E | Tyhjä, mutta päättää merkin \Q aloittaman lainauksen | 
Taulu D.4. Regex – Unicode-blokkien luokat ja kategoriat
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| \p{InGreek} | Kreikan blokissa oleva merkki (yksinkertainen blokki) | 
| \p{Lu} | Iso kirjain (yksinkertainen kategoria) | 
| \p{Sc} | Rahayksikön tunnus | 
| \P{InGreek} | Mikä tahansa merkki paitsi kreikan blokissa oleva (negaatio) | 
| [\p{L}&&[^\p{Lu}]] | Mikä tahansa merkki paitsi iso kirjain (vähennys) | 
Taulu D.5. Regex – Merkkiluokat
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| [abc] | a, b tai c (yksinkertainen luokka) | 
| [^abc] | Mikä tahansa merkki paitsi a, b, tai c (negaatio) | 
| [a-zA-Z] | Merkki väliltä a-z tai A-Z nämä päätymerkit mukaan lukien (alue) | 
Taulu D.6. Regex – Ennalta määritellyt merkkiluokat
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| . | Mikä tahansa merkki (paitsi rivin päättävät merkit) | 
| \d | Numero: [0–9] | 
| \D | Muu kuin numero: [^0-9] | 
| \s | Tyhjätilamerkki: [ \t\n\x0B\f\r] | 
| \S | Muu kuin tyhjätilamerkki: [^\s] | 
| \w | Sanan merkki: [a-zA-Z_0-9] | 
| \W | Muu kuin sanan merkki: [^\w] | 
Taulu D.7. Regex – Alueen rajaaminen
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| ^ | Rivin alku | 
| $ | Rivin loppu | 
| \b | Sanaraja | 
| \B | Muu kuin sanaraja | 
Taulu D.8. Regex – Ahneet rajoittimet
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| X? | X, kerran tai ei kertaakaan | 
| X* | X, nolla kertaa tai useammin | 
| X+ | X, yhden tai useamman kerran | 
Ahneet rajoittimet löytävät niin monta osumaa kuin vain mahdollista. Esimerkiksi a+ löytää ilmauksesta aaabbb joukon aaa.
Taulu D.9. Regex – Vastahakoiset (ei-ahneet) rajoittimet
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| X?? | X, kerran tai ei kertaakaan | 
| X*? | X, nolla kertaa tai useammin | 
| X+? | X, yhden tai useamman kerran | 
Ei-ahneet rajoittimet löytävät mahdollisimman vähän osumia. Esimerkiksi a+? löytää ilmauksesta aaabbb ensimmäisen a-merkin.
Taulu D.10. Regex – Loogiset operaattorit
| Muotoilu | … vastaa seuraavaa | 
|---|---|
| XY | X ja sen jälkeen Y | 
| X|Y | Joko X tai Y | 
| (XY) | XY yhtenä ryhmänä | 
Säännöllisten lausekkeiden kehittämiseen ja testaamiseen on olemassa monia interaktiivisia työkaluja. Yleensä ne seuraavat samankaltaista rakennetta (alla on Regular Expression Tester -esimerkki): säännöllinen lauseke (ylimpänä) analysoi haettavaa tekstiä (keskellä oleva tekstilaatikko), ja löydetyt osumat näkyvät tulosten tekstilaatikossa.
The Regex Coach -ohjelmasta on versiot Windows-, Linux- ja FreeBSD-käyttöjärjestelmille. Ohjelma on paljolti samanlainen kuin yllä oleva esimerkki.
Jo OmegaT:ssä itsessään on hyvä kokoelma käytännöllisiä regex-tapauksia (ks. kohta Valinnat > Segmentointi). Seuraavalla listalla on lausekkeita, joista voi olla sinulle apua etsiessäsi osumia käännösmuistista.
Taulu D.11. Regex – Käännöksissä käytettyjen säännöllisten lausekkeiden esimerkkejä
| Säännöllinen lauseke | Löytää seuraavan: | 
|---|---|
| (\b\w+\b)\s\1\b | Kahteen kertaan kirjoitetut sanat | 
| [\.,]\s*[\.,]+ | Piste tai pilkku, jota seuraa välilyönti ja vielä yksi piste tai pilkku | 
| \. \s+$ | Pisteen jälkeen tulevat ylimääräiset välilyönnit rivin lopussa | 
| \s+a\s+[aeiou] | Koskee englantia: Vokaalilla alkavien sanojen edellä olevan artikkelin on yleensä oltava "an", ei "a" | 
| \s+an\s+[^aeiou] | Koskee englantia: Sama tarkastus kuin edellä, mutta koskee konsonantteja (artikkelina "a", ei "an") | 
| \s{2,} | Useampia välilyöntejä peräkkäin | 
| \.[A-Z] | Piste, jota seuraa iso kirjain – onkohan pisteen ja uuden lauseen alun välistä jäänyt välilyönti puuttumaan? | 
| \bis\b | Etsii sanaa is, ei this tai isn't jne. |