L'espressione regolare (abbreviata in regex o regexp) è una sequenza di caratteri che Modulo un modello di Cerca principalmente da Usare in corrispondenza di modelli con Strings o stringhe di corrispondenza. La funzionalità è simile A trovare e sostituire operazioni con maggiore complessità e specificità o come metodo per escludere contenuti definiti. Vedi la voce di Wikipedia per una descrizione dettagliata di regexp e una scheda dei caratteri Usati.
A Usare più regexp alla volta, inserire un carattere pipeline |
tra di esse.
Regexp può essere Usato nei campi Filtra, Cerca e sostituisci nel CAT Desktop Editor, nei campi di origine e destinazione della funzione Cerca contenuto, per la funzione nei Impostazioni per l'importazione file (TMS) e per la personalizzazione delle Regole di segmentazione.
Importa
Phrase supporta Java regexp, ma rifiuterà espressioni regolari complesse A protezione del sistema dal sovraccarico. Le regexp complesse sono quelle con quantificatori (eccetto i possessivi) su gruppi che contengono altri quantificatori (eccetto i possessivi).
Esempi per convertire il testo in tag quando si importano file e usare regexp nell'Editor per le funzioni Cerca e sostituisci:
Esempio |
Descrizione |
---|---|
<[^>]+> |
rappresenta <html_tag> |
\{[^\}]+\} |
rappresenta {variabile}, |
\[[^\]]+\] |
rappresenta [variabile], |
\[\[.+?\]\] |
rappresenta [[aa[11]bb]]. |
\$[^\$]+\$ |
rappresenta $operator_Name1$. |
\d+ |
rappresenta Numeri. Inoltre, [0-9]+ |
[A-Za-z0-9] |
rappresenta qualsiasi carattere alfanumerico. |
.+\@.+\..+ |
Indirizzo e-mail name@domain.com |
\d{4}[-]\d{2}[-]\d{2} |
Data 2018-08-01 |
\s$ |
uno spazio vuoto alla fine del segmento |
^\s |
uno spazio vuoto all'inizio del segmento |
\s\s |
un doppio spazio vuoto |
^\d |
una cifra all'inizio del segmento |
\w+\s\s\w+ |
un doppio spazio vuoto tra parole |
\s\n |
un nuovo trattino preceduto da uno spazio vuoto |
\S\n |
un nuovo trattino preceduto da uno spazio vuoto |
<[^>]+>|\$[^=]+= |
converte variabili PHP e codice html ($svariable['name'] =) |
^\s*\'[^:]+: |
converte la chiave del campo di javascript con spazi vuoti aggiunti all'inizio della riga ("key") :) |
\{\{[^\}]+\}\}|\'[^']+\' |
non traduce il contenuto {{text here}} "{{text here}} e lo converte In tag |
Esempi di espressioni regolari quando si importa un testo specifico:
-
## ErrorMessage ##1## Il Numero deve essere superiore a 0. ##Z##
A importare testo tra ##1## e ##Z## Usa regexp:
(?<=#1## ).*(?= ##Z##)
-
ErrorMessage ("Il Numero deve essere superiore a 0.")
A importare testo tra (" e ") , Usa regexp:
(?<=\(").*(?="\))
-
'errorMessage' = 'Il Numero deve essere superiore a 0.'
A importare testo dopo il segno = e tra " e " , Usa regexp:
(?<=\= ").*(?=")
-
errorMessage = "questo è A essere tradotto"
A importare testo dopo il segno = e tra "e" Usa regexp:
(?<=\= ").*(?=")
-
msgstr ("Il Numero deve essere superiore a 0.")
A importare Strings msgstr in file PO monolingue usando un filtro TXT, Usa regexp:
(?<=msgstr ").*(?=")
-
# Nota: Questa è una nota
A escludere le righe che iniziano con # , Usa regexp:
(^[^#].*)
-
values '126', 'DCeT', 'Text (en)'
A importare solo il testo tra preventivi e con (en), come Testo (en)' Usa regexp:
(?<=')[^']*\(en\)(?=')
Esempio di struttura JSON:
{ "list": { "id": "1", "valore": "TE 1 per la Traduzione." }, "TE": { "id": "2", "valore": "TE 2 per la Traduzione." }, "menu": { "id": "3", "valore": "TE 3 per la Traduzione." },"array": ["blue","green"],"arrays": [{ "color": "blue", "Titolo": "BLU" }, { "color": "green", "title": "GREEN" } ]}
-
per importare ogni valore indipendentemente dal livello, Usa:
(^|.*/)value
-
per importare solo un valore da un Elenco, Usare:
Elenco/valore
-
per importare un valore da un Elenco e/o da un menu, Usare l’operatore | (OR):
Elenco/valore|menu/valore
-
per importare solo la prima istanza di un valore da un menu, Usare:
menu\[1\]/value
-
per importare il contenuto di un array JSON seguendo una determinata chiave, Usare:
(^|.*/)array\[.*\]
-
A importare il contenuto di un array specifico di oggetti, Usare:
(^|.*/)arrays\[.*\].*
Esempio di volo YAML:
title: A testo: tradurre A categorie: title: B testo: traduzione B categorie: title: C testo: tradurre C categorie: contenuto: title: D testo: traduzione D
regexp per importare:
-
solo "traduci A" :
testo
-
solo 'traduci C':
categorie\[2\]/testo
-
solo 'traduci D':
categorie\[\d+\]/content[\1\]/text
-
tutto il testo:
text|categorie\[\d+\]/text|categorie\[\d+\]/content[\d+\]/text
Okapi, Java e Unicode sono Usati per Regole di segmentazione nei file .SRX.
Utilizzare regexp nei file .SRX è complesso e si consiglia una conoscenza di base dell'Usare di espressione regolare prima di tentare A lavoro con loro.
Le regole nobreak (Abbreviazioni ecc.) e le regole break (Fine frase con un punto ecc.) sono nei file .SRX.
Esempio |
Descrizione |
---|---|
[\p{C}] |
Carattere di controllo invisibile. |
[\p{Z}] |
Spazio vuoto |
[\p{Lu}] |
Una lettera maiuscola che ha una variante minuscola. |
[\p{N}] |
Qualsiasi tipo di carattere numerico. |
\Q... \E |
Inizio e fine del preventivo - (\QApprox.\E). Questo è Usare per le Abbreviazione. |
\t |
Scheda |
\n |
nuovo |
\u2029 |
Separatore di paragrafo |
\u200B |
Spazio a larghezza zero |
\u3002 |
Punto e basta ideologico |
\ufe52 |
Piccolo punto e basta |
\uff0e |
Fullwidth full stop |
\uff61 |
Full stop ideografico a mezza larghezza |
\ufe56 |
Piccolo punto interrogativo |
\uff1f |
Punto interrogativo a larghezza intera |
\u203c |
Doppio punto esclamativo |
\u2048 |
Punto esclamativo della domanda |
\u2762 |
Ornamento pesante del punto esclamativo |
\u2763 |
Ornamento pesante del punto esclamativo del cuore |
\ufe57 |
Piccolo punto esclamativo |
\uff01 |
Punto esclamativo a tutta larghezza |
Controllo QA |
Origine regexp |
Destinazione Regexp |
---|---|---|
Numeri aggiuntivi nella destinazione |
|
|
Ordine tag (spaiato) |
|
|
Ordine tag (spaiato) |
|
|
Ordine tag (spaiato) |
|
|
Ordine tag (accoppiato) |
|
|
Ordine tag (accoppiato) |
|
|
Spazi prima dei tag |
|
|
Spazi dopo tag |
|
|
Nessuno spazio prima dei tag |
|
|
parentesi quadre Mancanti |
|
|
parentesi tonde mancanti |
|
|