Utilità di importazione

Regexp (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Il espressione regolare (abbreviato in regex o regexp) è una sequenza di caratteri che formano un modello di ricerca principalmente per l'uso nella corrispondenza dei modelli con stringhe o stringa-matching. La funzionalità è simile alla ricerca e alla sostituzione di operazioni con maggiore complessità e specificità. Vedere la voce di wikipedia per una descrizione dettagliata di regexp e una tabella di caratteri usati.

A utilizzare più regexp alla volta inserire un carattere pipeline | tra di loro.

Le regexp possono essere utilizzate nei campi di filtro, ricerca e sostituzione nell'editor desktop CAT, nei campi origine e destinazione della funzione Cerca per contenuto, per la funzione, Converti in tag in File impostazioni per l'importazione e per personalizzare le regoledi segmentazione.

Importante

Phrase supporta Java regexp, ma rifiutare espressioni regolari complesse per proteggere il sistema dal sovraccarico. Le regexp complesse sono quelle con quantificatori (eccetto possessivi) su gruppi che contengono altri quantificatori (eccetto i possessivi).

Esempi generali

Esempi di conversione di testo in tag durante l'importazione di file e l'utilizzo di regexp nell'editor per le funzioni di ricerca e sostituzione:

Esempio

Descrizione

<[^>]+>

rappresenta <html_tag>

\{[^\}]+\}

rappresenta {variable},

\[[^\]]+\]

rappresenta [variabile],

\[\[.+?\]\]

rappresenta [[AA[11]BB]].

\$[^\$]+\$

rappresenta $operator_Nome1$.

\d+

rappresenta i numeri. Inoltre, [0-9]+

[A-Za-z0-9]

rappresenta qualsiasi carattere alfanumerico.

.+\@.+\..+

Indirizzo e-mail name@domain.com

\d{4}[-]\d{2}[-]\d{2}

la data 2018-08-01

\s$

un spazio vuoto alla fine del segmento

^\s

un spazio vuoto all'inizio del segmento

\s\s

una doppia spazio vuoto

^\d

una cifra all'inizio del segmento

\w+\s\s\w+

un doppio spazio vuoto tra parole

\s\n

Una nuova riga preceduta da qualsiasi carattere spazio vuoto

\S\n

Una nuova riga preceduta da qualsiasi carattere non spazio vuoto

<[^>]+>|\$[^=]+=

Converte il codice PHP variabili e HTML ($svariable['name'] =)

^\s*\'[^:]+:

Converte la chiave di campo di JavaScript con aggiunto spazi bianchi all'inizio della riga ( 'chiave' :)

\{\{[^\}]+\}\}|\'[^']+\'

non traduce {{text here}} '{{text here}} contenuto e lo converte in tag

Importazione TXT

Esempi di espressioni regolari durante l'importazione di un testo specifico:

  1. ## ErrorMessage ##1## Il numero deve essere maggiore di 0. ##Z##

    A importare testo compreso tra ##1## e ##Z## ,usa regexp: (?<=##1## ).*(?= ##Z## ,)

  2. ErrorMessage ("Il numero deve essere maggiore di 0.")

    A importare testo compreso tra (" e ") , usa regexp: (?<=\(").*(?="\))

  3. 'errorMessage' = 'Il numero deve essere maggiore di 0.'

    A importare testo dopo il segno = e tra ' e ' , usa regexp: (?<=\= ').*(?= ') ,

  4. errorMessage = "questo deve essere tradotto"

    A importare testo dopo il segno = e tra 'e'usare regexp: (?<=\= ").*(?=")

  5. msgstr ("Il numero deve essere maggiore di 0.")

    A importare msgstr stringhe in file PO monolingue utilizzando un filtro TXT, utilizzare regexp: (?<=msgstr ").*(?=")

  6. # Nota: Questa è una nota

    A escludere le righe che iniziano con # , utilizzare regexp: (^[^# , ].*)

  7. values '126', 'DCeT', 'Text (en)'

    A importare solo testo tra virgolette e con (en), come Text (en)' use regexp: (?<=')[^']*\(en\)(?='),

Importazione JSON

Esempio di struttura JSON:

{
"list": {
        "id": "1",
        "value": "testo 1 per la traduzione".
        },
"testo": {
        "id": "2",
        "value": "testo 2 per la traduzione".
        },
"menu": {
        "id": "3",
        "value": "testo 3 per la traduzione".
         },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": "BLU"
         },         {        "color": "green",        "title": "VERDE" } ]}
  • Per importare ogni valore indipendentemente dal livello, utilizzare: (^|. */)valore

  • Per importare un solo valore da un elenco, utilizzare: list/value

  • Per importare un valore da un elenco e/o da un menu, utilizzare il comando | (OR) operatore: list/value|menu/value

  • Per importare solo la prima istanza di un valore da un menu, utilizzare: menu\[1\]/value

  • per importare il contenuto di una matrice JSON seguendo una determinata chiave, utilizzare: (^|. */)matrice\[.*\]

  • Per importare la contenuto di una matrice specifico di oggetti, utilizzare: (^|. */)matrici\[.*\].*

Importazione YAML

Esempio di volo YAML:

titolo: A
testo: tradurre A
Categorie:
  titolo: B
  testo: tradurre B
Categorie:
  titolo: C
  testo: tradurre C
Categorie:
  contenuto:
      titolo: D
      testo: tradurre D

regexp per l'importazione:

  • solo 'tradurre A' : testo

  • only 'translate C': categories\[2\]/text

  • only 'translate D': categories\[\d+\]/content[\1\]/text

  • Tutto il testo: testo|categorie\[\d+\]/testo|categorie\[\d+\]/contenuto[\d+\]/testo

Regole di segmentazione

Okapi, Java e Unicode vengono utilizzati per le regole di segmentazione in . SRX.

Utilizzando regexp in . I file SRX sono complessi e si consiglia una conoscenza di base del espressione regolare utilizzo prima di provare a lavoro con essi.

Le regole Nobreak (abbreviazioni, ecc.) e le regole di interruzione (fine della frase con un punto, ecc.) sono in . SRX.

Esempio

Descrizione

[\p{C}]

Carattere di controllo invisibile.

[\p{Z}]

Spazi vuoti

[\p{Lu}]

Lettera maiuscola con una variante minuscola.

[\p{N}]

Qualsiasi tipo di carattere numerico.

\Q ... \E

Inizio e fine di un'offerta - (\QApprox.\E). Questo è usato per le abbreviazioni.

\t

Tabulatore

\n

Newline

\u2029

Separatore di paragrafo

\u200B

Spazio a larghezza zero

\u3002

Punto e punto ideografico

\ufe52

Piccolo punto e basta.

\uff0e

Punto e punto completo a larghezza intera

\uff61

Punto 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 del punto esclamativo del cuore pesante

\ufe57

Piccolo punto esclamativo

\uff01

Punto esclamativo a larghezza intera

Controlli QA personalizzati comuni

QA Controllare

Fonte Regexp

Regexp di destinazione

Numeri aggiuntivi in destinazione

\d

\d

Tag ordine (non accoppiati)

^.*\{1\}.*\{2\}.*$

^.*\{1\}.*\{2\}.*$

Tag ordine (non accoppiati)

^.*\{1\}.*\{2\}.*\{3\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*$

Tag ordine (non accoppiati)

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

^.*\{1\}.*\{2\}.*\{3\}.*\{4\}.*$

Tag ordine (accoppiati)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*$

Tag ordine (accoppiati)

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

^.*\{1\&gt;.*\&lt;1\}.*\{2\&gt;.*\&lt;2\}.*\{3\&gt;.*\&lt;3\}.*$

Spazi prima di tag

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})

\s(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})

Spazi dopo tag

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})\s

(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})\s

Nessuno spazio prima di tag

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})

\S(\{[1-9][0-9]*\}|\{[1-9][0-9]*>|<[ 1-9][0-9]*\}|\{[biu_\^]{1,4}>|<[ biu_\^]{1,4}\})

Mancante parentesi quadre

[^\[\]]*\[[^\[\]]*\][^\[\]]*

[^\[\]]*\[[^\[\]]*\][^\[\]]*

Mancante parentesi tonde

[^\(\)]*\([^\(\)]*\)[^\(\)]*

[^\(\)]*\([^\(\)]*\)[^\(\)]*

Questo articolo ti è stato utile?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.