## Składniki wyrażeń regularnych

Wyrażenia regularne używane przy wyszukiwaniu i zasadach segmentacji są takie same, jak obsługiwane przez Javę. Jeśli potrzebujesz bardziej szczegółowych informacji, sprawdź na stronie http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Patrz dodatkowe informacje i przykłady poniżej.

### Flagi | ### Znaki
### Cytowanie | ### Bloki i klasy Unicode
### Klasy znaków | ### Predefiniowane klasy znaków
### Zakotwiczenia | ### Kwantyfikatory zachłanne
### Kwantyfikatory niezachłanne (leniwe) | ### Operatory logiczne
### Narzędzia wyrażeń regularnych i przykłady użycia

### Składnik | ### Znaczenie:
### Flagi
`(?i)` | Uaktywnia dopasowywanie bez uwzględniania wielkości liter (domyślnie wzorzec uwzględnia wielkość liter).
### Znaki
`x` | Znak x, z wyjątkiem następujących...
`\uhhhh` | Znak w kodzie szesnastkowym `0x` hhhh
`\t` | Znak tabulacji (`'\u0009'`)
`\n` | Znak nowej linii (`'\u000A'`)
`\r` | Znak powrotu karetki (`'\u000D'`)
`\f` | Znak wysunięcia strony (`'\u000C'`)
`\a` | Znak sygnału dźwiękowego (`'\u0007'`)
`\e` | Znak escape (`'\u001B'`)
`\c` x | Znak kontrolny odpowiadający x
`\0` n | Znak w kodzie ósemkowym `0` n (0 `<=` n `<=` 7)
`\0` nn | Znak w kodzie ósemkowym `0` nn (0 `<=` n `<=` 7)
`\0` mnn | Znak w kodzie ósemkowym `0` mnn (0 `<=` m `<=` 3, 0 `<=` n `<=` 7)
`\x` hh | Znak w kodzie szesnastkowym `0x` hh
### Cytowanie
`\` | Sam jest pomijany, ale cytuje następujący po nim znak. Jest to wymagane, jeśli chcesz wprowadzić jeden ze znaków specjalnych `!$()*+.<>?[\]^{|}`, aby był traktowany jako znak.
`\\` | Na przykład, to jest znak backslash
`\Q` | Sam jest pomijany, ale cytuje wszystkie znaki aż do `\E`
`\E` | Sam jest pomijany, ale kończy cytowanie rozpoczęte przez `\Q`
### Bloki i klasy Unicode
``\p{InGreek}`` | Dowolny znak należący do bloku Greek (prosty blok)
``\p{Lu}`` | Dowolna duża litera (prosta klasa)
``\p{Sc}`` | Symbol waluty
``\P{InGreek}`` | Dowolny znak poza znakami należącymi do bloku Greek (negacja)
``[\p{L}&&[^\p{Lu}]]`` | Dowolna litera poza dużymi literami (odejmowanie)
### Klasy znaków
`[abc]` | `a`, `b` lub `c` (prosta klasa)
`[^abc]` | Dowolny znak z wyjątkiem `a`, `b` lub `c` (negacja)
`[a-zA-Z]` | Od `a` do `z` lub od `A` do `Z`, włącznie (zakres)
### Predefiniowane klasy znaków
`.` | Dowolny znak (poza znakiem nowej linii)
`\d` | Cyfra: `[0-9]`
`\D` | Znak inny niż cyfra: `[^0-9]`
`\s` | Biały znak: `[ \t\n\x0B\f\r]`
`\S` | Znak inny niż biały znak: `[^\s]`
`\w` | Znak wyrazu (litera, cyfra lub podkreślenie): `[a-zA-Z_0-9]`
`\W` | Znak inny niż znak wyrazu: `[^\w]`
### Zakotwiczenia
`^` | Początek linii
`$` | Koniec linii
`\b` | Granica wyrazu
`\B` | Znak inny niż granica wyrazu
### Kwantyfikatory zachłanne
Dopasowują się do jak najdłuższego ciągu znaków. Na przykład, `a+` dopasuje się do `aaa` w `aaabbb`
X`?` | X, jeden raz albo wcale
X`*` | X, zero lub więcej razy
X`+` | X, jeden lub więcej razy
### Kwantyfikatory niezachłanne (leniwe)
Dopasowują się do jak najkrótszego ciągu znaków. Na przykład, `a+?` dopasuje się do pierwszego `a` w `aaabbb`
X`??` | X, jeden raz albo wcale
X`*?` | X, zero lub więcej razy
X`+?` | X, jeden lub więcej razy
### Operatory logiczne
XY | Po X następuje Y
X`|`Y | X lub Y
`(`XY`)` | XY jako grupa

## Narzędzia wyrażeń regularnych i przykłady użycia

Istnieje wiele dostępnych interaktywnych narzędzi do budowania i testowania wyrażeń regularnych. Wszystkie one powielają ten sam wzorzec(patrz poniżej - przykład w formie wtyczki do Firefoxa): wyrażenie regularne (na górze) analizuje przeszukiwany tekst (okno tekstowe w środku) , znajdując pasujące fragmenty, i pokazując je w oknie tekstowym Result.
Patrz The Regex Coach w wersji dla Windows, Linux, Mac, FreeBSD jako samodzielne narzędzie, są one prawie identyczne jak powyższy przykład.
Duży zbior użytecznych przykładów wyrażeń regularnych znaleźć można w samym programie OmegaT (patrz Opcje > Ustawienia segmentacji). Poniższa lista zawiera wyrażenia, które mogą okazać się użyteczne podczas przeszukiwania pamięci tłumaczeniowej:

Wyrażenie regularne | Wyszukuje:
(\b\w+\b)\s\1\b | powtórzone słowa
[\.,]\s*[\.,]+ | mieszanka przecinków i kropek
\. \s$ | dodatkowe odstępy po kropce na końcu linii
\s+a\s+[aeiou] | Język angielski: słowa zaczynające się na samogłoskę powinny być poprzedzone przez "an" zamiast "a"
\s+an\s+[^aeiou] | Język angielski: to samo sprawdzenie co poprzednio, ale dla spółgłosek ("a", nie "an")
\s\s+ | więcej niż jeden odstęp
\.[A-Z] | brak odstępu między kropką a początkiem nowego zdania

Uwagi prawne | Spis treści | Indeks