## Construccions d'expressions regulars

Les expressions regulars (o «regex») que podeu utilitzar en les cerques i en les regles de segmentació són les que permet el Java. Si necessiteu informació més específica, visiteu http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Vegeu a continuació informació de referència i exemples addicionals.

### Indicadors | ### Caràcters
### Cita | ### Classes per a blocs i categories d'Unicode
### Classes de caràcters | ### Classes de caràcters predefinides
### Caràcters de límit | ### Quantificadors «voraços»
### Quantificadors «no voraços» | ### Operadors lògics
### Eines d'expressions regulars i exemples d'ús

### La construcció... | ### ...coincideix amb:
### Indicadors
`(?i)` | Fa que les cerques no distingeixin entre majúscules i minúscules (per defecte, es distingeix entre majúscules i minúscules).
### Caràcters
`x` | El caràcter x, excepte els següents...
`\uhhhh` | El caràcter amb valor hexadecimal `0x` hhhh
`\t` | El caràcter de tabulació («`\u0009`»)
`\n` | El caràcter de línia nova (salt de línia) («`\u000A`»)
`\r` | El caràcter de retorn de carro («`\u000D`»)
`\f` | El caràcter de salt de pàgina («`\u000C`»)
`\a` | El caràcter d'avís sonor («`\u0007`»)
`\e` | El caràcter d'escapada («`\u001B`»)
`\c` x | El caràcter de control corresponent a x
`\0` n | El caràcter amb valor octal `0` n (0 `<=` n `<=` 7)
`\0` nn | El caràcter amb valor octal `0` nn (0 `<=` n `<=` 7)
`\0` mnn | El caràcter amb valor octal `0` mnn (0 `<=` m `<=` 3, 0 `<=` n `<=` 7)
`\x` hh | El caràcter amb valor hexadecimal `0x` hh
### Cita
`\` | No res, però cita literalment el caràcter següent. És necessari si especifiqueu metacaràcters `!$()*+.<>?[\]^{|}` i voleu que coincideixin amb els caràcters literalment.
`\\` | Per exemple, això representa el caràcter de barra inversa
`\Q` | No res, però cita literalment tots els caràcters fins que s'especifiqui `\E`
`\E` | No res, però indica que acaba la cita literal iniciada per `\Q`
### Classes per a blocs i categories d'Unicode
``\p{InGreek}`` | Un caràcter del bloc grec (bloc senzill)
``\p{Lu}`` | Una lletra en majúscules (categoria senzilla)
``\p{Sc}`` | Un símbol de moneda
``\P{InGreek}`` | Qualsevol caràcter excepte algun del bloc grec (negació)
``[\p{L}&&[^\p{Lu}]]`` | Qualsevol lletra excepte una en majúscules (subtracció)
### Classes de caràcters
`[abc]` | `a`, `b` o `c` (classe senzilla)
`[^abc]` | Qualsevol caràcter excepte `a`, `b` o `c` (negació)
`[a-zA-Z]` | D'`a` a `z` o d'`A` a `Z`, ambdós inclosos (àmbit)
### Classes de caràcters predefinides
`.` | Qualsevol caràcter (excepte salts de línia)
`\d` | Un dígit: `[0-9]`
`\D` | Qualsevol caràcter menys un dígit: `[^0-9]`
`\s` | Un caràcter d'espai en blanc: `[ \t\n\x0B\f\r]`
`\S` | Qualsevol caràcter menys l'espai en blanc: `[^\s]`
`\w` | Un caràcter de paraula: `[a-zA-Z_0-9]`
`\W` | Qualsevol caràcter menys un caràcter de paraula: `[^\w]`
### Caràcters de límit
`^` | L'inici d'una línia
`$` | El final d'una línia
`\b` | Un límit de paraula
`\B` | Qualsevol límit menys el de paraula
### Quantificadors «voraços»
Coincideixen amb tants caràcters com sigui possible. Per exemple, `a+` coincidirà amb `aaa` dins d'`aaabbb`
X`?` | X, una vegada o cap
X`*` | X, zero o més vegades
X`+` | X, una o més vegades
### Quantificadors «no voraços»
Coincideixen amb tan pocs caràcters com sigui possible. Per exemple, `a+?` coincidirà amb la primera `a` dins d'`aaabbb`
X`??` | X, una vegada o cap
X`*?` | X, zero o més vegades
X`+?` | X, una o més vegades
### Operadors lògics
XY | X seguida d'Y
X`|`Y | X o bé Y
`(`XY`)` | XY com a un grup únic

## Eines d'expressions regulars i exemples d'ús

Hi ha una sèrie d'eines interactives per desenvolupar i provar expressions regulars. En general, tots segueixen el mateix patró (vegeu a continuació un exemple en forma d'extensió del Firefox): l'expressió regular (el quadre de text superior) analitza el text de cerca (el quadre de text del mig) i mostra el resultat al quadre de text inferior.
Si preferiu utilitzar una eina autònoma, podeu provar el The Regex Coach per al Windows, Linux, Mac i FreeBSD. El funcionament és gairebé idèntic a l'exemple anterior.
També trobareu un bon nombre d'exemples útils d'expressions regulars a dins de l'OmegaT (vegeu Opcions > Segmentació). La llista següent inclou expressions que us poden ser útils quan feu cerques a la memòria de traducció:

Expressió regular | Troba el següent:
(\b\w+\b)\s\1\b | paraules duplicades
[\.,]\s*[\.,]+ | comes i punts mesclats
\. \s$ | espais en blanc que sobren després del punt al final de la línia
\s+a\s+[aeiou] | Anglès: paraules que comencen per vocals i que cal que vagin precedides per l'article «an», i no «a»
\s+an\s+[^aeiou] | Anglès: igual que l'anterior, però per a consonants («a», i no «an»)
\s\s+ | més d'un espai
\.[A-Z] | falta un espai entre un punt i el començament de la frase següent

Avisos legals | Inici | Índex