Importar utilidades

Regexp (TMS)

El contenido se traduce automáticamente del inglés por Phrase Language AI.

La expresión regular (abreviada como regex o regexp) es una secuencia de caracteres que forman un patrón de búsqueda principalmente para su uso en la concordancia de patrones con cadenas o concordancia de cadenas. La funcionalidad es similar a encontrar y reemplazar operaciones con más complejidad y especificidad o como un método para excluir contenido definido. Ver entrada de wikipedia para una descripción detallada de regexp y una tabla de caracteres usados.

Para usar varias regexps a la vez, inserte un carácter de pipeline | entre ellas.

Regexps se puede utilizar en los campos de filtro, búsqueda y reemplazo en el editor de escritorio CAT, en los campos fuente y meta de la función Buscar contenido, para la función Convertir en etiquetas en la configuración de importación de archivos de y para personalizar las reglas de segmentación.

Importante

Phrase es compatible con Java regexp, pero rechazará expresiones regulares complejas para proteger el sistema de sobrecargas. Las regexps complejas son aquellas con cuantificadores (excepto posesivos) en grupos que contienen otros cuantificadores (excepto posesivos).

Ejemplos generales

Ejemplos para convertir texto en etiquetas al importar archivos y usar regexp en el editor para funciones de búsqueda y reemplazo:

Ejemplo

Descripción

<[^>]+>

represents <html_tag>

\{[^\}]+\}

representa {variable},

\[[^\]]+\]

representa [variable],

\[\[.+?\]\]

represents [[aa[11]bb]].

\$[^\$]+\$

represents $operator_Name1$.

\d+

representa números. Además, [0-9]+

[A-Za-z0-9]

representa cualquier carácter alfanumérico.

.+\@.+\..+

email address name@domain.com

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

la fecha 2018-08-01

\s$

un espacio en blanco al final del segmento

^\s

un espacio en blanco al principio del segmento

\s\s

un espacio en blanco doble

^\d

un dígito al principio del segmento

\w+\s\s\w+

un doble espacio en blanco entre palabras

\s\n

una nueva línea precedida de cualquier carácter de espacio en blanco

\S\n

una nueva línea precedida por cualquier carácter que no sea de espacio en blanco

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

converts php variables and html code ($svariable['name'] =)

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

convierte la clave de campo de javascript con espacios en blanco agregados al principio de la línea ( 'key' :)

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

no traduce el contenido del {{text here}}{{text here}} y lo convierte en etiquetas

Importar Texto

Ejemplos de expresiones regulares al importar un texto específico:

  1. ## Mensaje de error ##1## El número debe ser mayor que 0. ##Z##

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

  2. Mensaje de error ("El número debe ser mayor que 0.")

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

  3. 'Mensaje de error' = 'El número debe ser mayor que 0.'

    Para importar texto después del signo = y entre ' y ' , use regexp: (?<=\= ').*(?=')

  4. errorMessage = "Esto se traducirá"

    Para importar texto después del signo = y entre 'y' use regexp: (?<=\= ").*(?=")

  5. msgstr ("El número debe ser mayor que 0.")

    Para importar cadenas msgstr en archivos PO monolingües usando un filtro TXT, use regexp: (?<=msgstr ").*(?=")

  6. # Nota: Esta es una nota

    Para excluir las líneas que comienzan con # , use regexp: (^[^#].*)

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

    Para importar sólo texto entre comillas y con (en), como Texto (en)' use regexp: (?<=')[^']*\(en\)(?=')

Importar JSON

Ejemplo de estructura JSON:

{
"list": {
        "id": "1",
        "value": "text 1 for translation."
        },
"text": {
        "id": "2",
        "value": "text 2 for translation."
        },
"menú": {
        "id": "3",
        "value": "text 3 for translation."
         },"array": ["blue","green"],"arrays": [{        "color": "blue",        "title": "AZUL"
         },         {        "color": "green",        "title": "VERDE" } ]}
  • para importar todos los valores independientemente del nivel, use: (^|.*/)value

  • para importar solo un valor de una lista, use: list/value

  • para importar un valor de una lista o menú, utilice el operador | (OR): list/value|menu/value

  • para importar solo la primera instancia de un valor desde un menú, use: menú\[1\]/value

  • para importar el contenido de una matriz JSON después de una determinada clave, use: (^|.*/)array\[.*\]

  • para importar el contenido de una matriz específica de objetos, use: (^|.*/)arrays\[.*\].*

YAML Importar

Ejemplo de mosca YAML:

title: A
texto: traducir A
categorías:
  title: B
  texto: traducir B
categorías:
  title: C
  texto: traducir C
categorías:
  contenido:
      title: D
      texto: traducir D

regexp para importar:

  • solo 'traducir A' : texto

  • solo 'traducir C': categorías\[2\]/texto

  • solo 'traducir D': categorías\[\d+\]/contenido[\1\]/texto

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

Reglas de segmentación

Okapi, Java y Unicode se utilizan para las reglas de segmentación en archivos .SRX.

El uso de regexp en archivos .SRX es complejo y se recomienda un conocimiento básico del uso regular de la expresión antes de intentar trabajar con ellos.

Las reglas de no salto (abreviaturas, etc.) y las reglas de salto (final de la frase con un punto, etc.) se encuentran en los archivos .SRX.

Ejemplo

Descripción

[\p{C}]

Caracter de control invisible.

[\p{Z}]

Espacio en blanco

[\p{Lu}]

Una letra en mayúscula que tiene una variante en minúscula.

[\p{N}]

Cualquier tipo de carácter numérico.

\Q... \E

Inicio y fin de la cotización - (\QApprox.\E). Esto se utiliza para abreviaturas.

\t

Tabulador

\n

Newline

\u2029

Separador de párrafos

\u200B

Espacio de ancho cero

\u3002

Punto final ideográfico

\ufe52

Pequeño punto completo

\uff0e

Punto completo de ancho

\uff61

Punto final ideográfico de ancho medio

\ufe56

Signo de interrogación pequeño

\uff1f

Signo de interrogación de ancho completo

\u203c

Signo de exclamación doble

\u2048

Signo de exclamación de interrogación

\u2762

Adorno de signo de exclamación pesado

\u2763

Adorno pesado del signo de exclamación del corazón

\ufe57

Pequeño signo de exclamación

\uff01

Signo de exclamación de ancho completo

Comunes revisiones de QA personalizadas

Revisión de QA

Regexp fuente

Regexp meta

Números adicionales en meta

\d

\d

Pedido de etiquetas (no emparejado)

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

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

Pedido de etiquetas (no emparejado)

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

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

Pedido de etiquetas (no emparejado)

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

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

Pedido de etiquetas (pareado)

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

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

Pedido de etiquetas (pareado)

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

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

Espacios antes de etiquetas

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

Espacios después de etiquetas

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

Sin espacio antes de las etiquetas

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

Faltan corchetes

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

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

Faltan paréntesis redondos

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

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

¿Fue útil este artículo?

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.