A expressão regular (abrevia-se como regex ou regexp) é uma seqüência de caracteres que formam um padrão de pesquisa principalmente para usar em correspondência de padrão com Strings ou correspondência de string. A funcionalidade é semelhante a encontrar e substituir operações com mais complexidade e especificidade ou como um método para excluir conteúdo definido. Veja a entrada wikipedia para uma descrição detalhada de expressões regulares e um quadro de caracteres usados.
Para usar vários expressões regulares de cada vez, insira um caractere de pipeline |
entre eles.
Regexps podem ser usados nos campos filtrar, pesquisar e substituir no editor para desktop CAT, nos campos texto original e tradução do recurso de conteúdo, para o recurso nas configurações de importação de arquivos e para personalização das regras de segmentação.
Os chatbots da IA podem ser muito efetivos na geração e verificação de expressões regulares.
Importante
O phrase é compatível com Java regexp, mas rejeitará expressões regulares complexas para proteger o sistema de sobrecarga. Expressões regulares complexas são aquelas com quantificadores (exceto possessivos) em grupos que contêm outros quantificadores (exceto possessivos).
Exemplos de converter texto em tags ao importar arquivos e usando expressões regulares no editor para pesquisar e substituir funções:
Exemplo |
Descrição |
---|---|
<[^>]+> |
represents <html_tag> |
\{[^\}]+\} |
representa {variável}, |
\[[^\]]+\] |
representa [variável], |
\[\[.+?\]\] |
represents [[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} |
da 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 |
de um duplo espaço em branco |
^\d |
um dígito no início do segmento |
\w+\s\s\w+ |
um duplo espaço em branco entre palavras |
\s\n |
uma nova linha precedida por qualquer caractere de espaço em branco |
\S\n |
uma nova linha precedida por qualquer caractere sem 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 o conteúdo da{{text here}} {{text here}} e o converte em tags |
Exemplos de expressões regulares ao importar um texto específico:
-
## ErrorMessage ##1## O número deve ser maior que 0. ##Z##
Para importar texto entre ##1### e ##Z## ,use expressão regular:
(?<=##1##). *(?= ##Z##)
-
Mensagem de erro ("O número deve ser maior que 0.")
Para importar texto entre (" e ") , use expressão regular:
(?<= \(").*(="\))
-
'errorMessage' = 'O número deve ser maior que 0.'
Para importar texto após o = e entre ' e ' , use expressão regular:
(?<= \= ').*(?=')
-
errorMensagem = "Este deve ser traduzido"
Para importar texto após o sinal = e entre 'e' use expressão regular:
(?<= \= ").*(?=")
-
msgstr ("O número deve ser maior que 0.")
Para importar msgstr Strings em arquivos OS monolíngues usando um filtro TXT, use expressão regular:
(?<=msgstr ").*(?=")
-
# Observação: Esta é uma nota
Para excluir linhas começando com número , use expressão regular:
(^[^#].*)
-
valores '126', 'DCeT', 'Text (pt)'
Para importar apenas o texto nos orçamentos e com (en), tal como usar (en)' regexp:
(?<=')[^]*\(en\)(?=')
Exemplo de estrutura JSON:
{ "list": { "id": "1", "valor": "text 1 para tradução." }, "text": { "id": "2", "valor": "text 2 para tradução." }, "menu": { "id": "3", "valor": "text 3 para tradução." },"array": ["blue","green"],"arrays": [{ "color": "blue", "title": "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:
lista/valor
-
para importar um valor de uma lista e/ou menu, use (OR) operador:
lista/valor |menu/valor
-
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 após uma determinada chave, use:
(^ |.*/)array\[.*\]
-
para importar o conteúdo de um conjunto específico de objetos, use:
(^.*/)arrays\[.*\].*
Exemplo de arquivo 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
expressões regulares para importação:
-
apenas 'traduzir A' :
texto
-
only 'translate C':
categories\[2\]/text
-
apenas 'traduzir D':
categories \[\d+\]/content[\1\]/text
-
todo texto:
text |categories\[\d+\]/text |categories\[\d+\]/content[\d+\]/text
Okapi, Java e Unicode são usados para regras de segmentação em arquivos .SRX.
Usar expressões regulares em arquivos .SRX é complexo, e é recomendável ter um conhecimento básico de usar expressão regular antes de tentar trabalhar com eles.
Regras nobre (abreviações, etc.) e regras de quebra (finalizar a frase com um ponto, etc.) estão em arquivos .SRX.
Exemplo |
Descrição |
---|---|
[\p{C}] |
Caractere de controle invisível. |
[\p{Z}] |
Espaço em branco |
[\p{Lu}] |
Uma letra maiúscula que tem uma variante minúscula. |
[\p{N}] |
Qualquer tipo de caractere numérico. |
\Q ... \E |
Começar e terminar uma cotação - (\QApprox.\E). Isso é usado para abreviações. |
\t |
Tabulador |
\n |
Nova linha |
\u2029 |
Separador de parágrafo |
\u200B |
Espaço de largura zero |
\u3002 |
Ponto completo ideográfico |
\ufe52 |
Pequena interrupção |
\uff0e |
Fuso total de largura completa |
\uff61 |
Fuso total ideográfico de meio largo |
\ufe56 |
Pequena marca de pergunta |
\uff1f |
Marca de pergunta de largura completa |
\u203c |
Dupla marca de exclamação |
\u2048 |
Marca de exclamação de pergunta |
\u2762 |
Ornamento de marca de exclamação pesada |
\u2763 |
Ornamento de marca de exclamação de coração pesado |
\ufe57 |
Pequena marca de exclamação |
\uff01 |
Marca de exclamação de largura completa |
Verificação de Controle de qualidade |
Texto original Regexp |
Tradução Regexp |
---|---|---|
Números adicionais na tradução |
|
|
Pedido de tags (não emparelhado, para segmentos com 3 tags). Ajuste o expressão regular de acordo com o número necessário de tags. |
|
|
Pedido de tags (parado, para segmentos com 3 tags). Ajuste o expressão regular de acordo com o número necessário de tags. |
|
|
Espaços antes de tags |
|
|
Espaços após tags |
|
|
Não há espaço antes dos tags |
|
|
Caracteres não em branco após códigos emparelhados |
|
|
Consoles quadrados ausentes |
|
|
Consoles redondos ausentes |
|
|