Utilitários de importação

Regexp (TMS)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

A expressão regular (abreviada como regex ou regexp) é uma sequência de caracteres que formam um padrão de pesquisa principalmente para uso em correspondência de padrões com cadeias de caracteres ou correspondência de cadeias de caracteres. A funcionalidade é semelhante para localizar e substituir operações com mais complexidade e especificidade ou como um método para excluir conteúdo definido. Veja o verbete da wikipedia para uma descrição detalhada do regexp e uma tabela de caracteres usados.

Para usar vários regexps ao mesmo tempo, insira um caractere de pipeline | entre eles.

Os Regexps podem ser usados nos campos de filtro, pesquisa e substituição no editor de área de trabalho CAT, nos campos de origem e destino do recurso Pesquisar conteúdo, no recurso, Converter em marcas nas configurações de importação de arquivos TMS (Formatos de Arquivo Suportados) e na personalização de regras de segmentação. titletitle

Importante

Phrase suporta Java regexp, mas rejeitará expressões regulares complexas para proteger o sistema de sobrecarga. Regexps complexos são aqueles com quantificadores (exceto possessivos) em grupos que contêm outros quantificadores (exceto possessivos).

Exemplos gerais

Exemplos para converter texto em tags ao importar arquivos e usar regexp no editor para funções de pesquisa e substituição:

Exemplo

Descrição: __________

<[^>]+>

represents <html_tag>

\{[^\}]+\}

representa {variável},

\[[^\]]+\]

representa [variável],

\[\[.+?\]\]

representa [[AA[11]BB]].

\$[^\$]+\$

representa $operator_Name1$.

\d+

representa números. Além disso, [0-9]+

[A-Za-z0-9]

representa qualquer caractere alfanumérico.

.+\@.+\..+

endereço de e-mail name@domain.com

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

A data 2018-08-01

\s$

um espaço em branco no final do segmento

^\s

um espaço em branco no início do segmento

\s\s

um espaço em branco duplo

^\d

um dígito no início do segmento

\w+\s\s\w+

um espaço em branco duplo entre as palavras

\s\n

uma nova linha precedida por qualquer caractere de espaço em branco

\S\n

uma nova linha precedida por qualquer caractere que não seja de espaço em branco

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

Converte variáveis PHP e código HTML ($svariable['name'] =)

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

Converte a chave de campo do JavaScript com espaços em branco adicionados no início da linha ( 'chave' :)

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

não traduz {{text here}} ' conteúdo e{{text here}} converte-o em tags

Importação TXT

Exemplos de expressões regulares ao importar um texto específico:

  1. ## ErrorMessage ##1## O número deve ser maior que 0. ##Z##

    Para importar texto entre ##1## e ##Z## ,use regexp: (?<=##1## ).*(?= ##Z## ,)

  2. ErrorMessage ("O número deve ser maior que 0.")

    Para importar texto entre (" e ") , use regexp: (?<=\(").*(?="\))

  3. 'errorMessage' = 'O número deve ser maior que 0'.

    Para importar texto após o sinal = e entre ' e ' , use regexp: (?<=\= ').*(?= ') ,

  4. errorMessage = "isto deve ser traduzido"

    Para importar texto após o sinal = e entre 'e'use regexp: (?<=\= ").*(?=")

  5. msgstr ("O número deve ser maior que 0.")

    Para importar cadeias de caracteres msgstr em arquivos PO monolíngues usando um filtro TXT, use regexp: (?<=msgstr ").*(?=")

  6. # Observação: Esta é uma nota

    Para excluir linhas começando com # , use regexp: (^[^# , ].*)

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

    Para importar apenas texto entre aspas e com (en), como Text (en)' use regexp: (?<=')[^']*\(en\)(?='),

Importação JSON

Exemplo de estrutura JSON:

{
"list": {
        "id": "1",
        "valor": "texto 1 para tradução."
        },
"text": {
        "id": "2",
        "valor": "texto 2 para tradução."
        },
"menu": {
        "id": "3",
        "valor": "texto 3 para tradução."
         },"matriz": ["azul","verde"],"matrizes": [{ "cor": "azul", "título": "BLUE"
         },         {        "color": "green",        "title": "GREEN"         }    ]}
  • Para importar todos os valores, independentemente do nível, use: (^|. */)valor

  • Para importar apenas um valor de uma lista, use: List/Value

  • Para importar um valor de uma lista e/ou menu, use o | (OR) operador: list/value|menu/value

  • Para importar apenas a primeira instância de um valor de um menu, use: menu\[1\]/value

  • para importar o conteúdo de uma matriz JSON seguindo uma determinada chave, use: (^|. */)matriz\[.*\]

  • Para importar o conteúdo de uma matriz específica de objetos, use: (^|. */)matrizes\[.*\].*

Importação YAML

Exemplo de mosca YAML:

título: A
texto: traduzir A
Categorias:
  título: B
  texto: traduzir B
Categorias:
  título: C
  texto: traduzir C
Categorias:
  conteúdo:
      título: D
      texto: traduzir D

regexp para importação:

  • apenas 'traduzir A' : texto

  • apenas 'traduzir C': categorias\[2\]/texto

  • apenas 'traduzir D': categorias\[\d+\]/content[\1\]/text

  • todo o texto: text|categories\[\d+\]/text|categories\[\d+\]/content[\d+\]/text

Regras de Segmentação

Okapi, Java e Unicode são usados para regras de segmentação no . Arquivos SRX.

Usando regexp em . Os arquivos SRX são complexos e um conhecimento básico do uso regular de expressões é recomendado antes de tentar trabalhar com eles.

As regras Nobreak (abreviaturas etc.) e as regras Break (Fim da frase com um ponto, etc) estão em . Arquivos SRX.

Exemplo

Descrição: __________

[\p{C}]

Caráter de controle invisível.

[\p{Z}]

Whitespace

[\p{Lu}]

Uma letra maiúscula que tem uma variante minúscula.

[\p{N}]

Qualquer tipo de caractere numérico.

\Q ... \E

Início e fim de uma cotação - (\QApprox.\E). Isso é usado para abreviações.

\t

Tabulator

\n

Newline

\u2029

Separador de parágrafo

\u200B

Espaço de largura zero

\u3002

Ponto final ideográfico

\ufe52

Ponto final pequeno

\uff0e

Ponto final de largura total

\uff61

Ponto final ideográfico de meia largura

\ufe56

Pequeno ponto de interrogação

\uff1f

Ponto de interrogação de largura total

\u203c

Ponto de exclamação duplo

\u2048

Ponto de exclamação de perguntas

\u2762

Ornamento pesado do ponto de exclamação

\u2763

Ornamento de ponto de exclamação de coração pesado

\ufe57

Pequeno ponto de exclamação

\uff01

Ponto de exclamação de largura total

Verificações de controle de qualidade personalizadas comuns

Verificação de controle de qualidade

Regexp de origem

Regexp de destino

Números adicionais no destino

\d

\d

Ordem das tags (não emparelhada)

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

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

Ordem das tags (não emparelhada)

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

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

Ordem das tags (não emparelhada)

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

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

Ordem das tags (emparelhada)

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

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

Ordem das tags (emparelhada)

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

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

Espaços antes das tags

\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}\})

Espaços após tags

(\{[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

Sem espaço antes das tags

\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}\})

Colchetes ausentes

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

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

Faltam parênteses redondos

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

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

Esse artigo foi útil?

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.