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 usar en la concordancia de patrones con Strings o concordancia de cadenas. Las funciones son similares a encontrar y reemplazar operaciones con más complejidad y especificidad o como método para excluir contenidos definidos. Ver la entrada 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 pipeline | entre ellas.

Regexps se puede utilizar para filtrar, buscar y reemplazar campos en el editor de escritorio CAT, en los campos fuente y meta de la función Search for contenido, para la función Convert to tags en configuración File import y para personalizar reglas de segmentación.

Los chatbots IA pueden ser muy efectivos a la hora de generar y verificar regexp.

Importante

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

Ejemplos generales

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

Ejemplo

Descripción

<[^>]+>

represents <html_tag>

\{[^\}]+\}

representa {variable},

\[[^\]]+\]

representa [variable],

\[\[.+?\]\]

representa [[aa[11]bb]].

\$[^\$]+\$

representa $operator_Name1$.

\d+

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

[A-Za-z0-9]

representa cualquier carácter alfanumérico.

.+\@.+\..+

dirección correo electrónico nombre@dominio.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 doble espacio en blanco

^\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 a espacios en blanco

\S\n

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

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

convierte variables PHP y código HTML ($svariable['name'] =)

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

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

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

no traduce el contenido de {{text here}}{{text here}} y lo convierte en tags

TXT Importar

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 superior a 0.")

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

  3. 'Mensaje de error' = 'El número debe ser superior a 0.'

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

  4. Mensaje de error = "Esto se debe traducir"

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

  5. msgstr ("El número debe ser superior a 0.")

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

  6. # Nota: Esta es una nota

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

  7. valores «126», «DCeT», «Texto (en)»

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

JSON Import

Ejemplo de estructura JSON:

{
"lista": {
        "id": "1",
        "value": "texto 1 para traducción".
        },
"text": {
        "id": "2",
        "value": "texto 2 para traducción".
        },
"menú": {
        "id": "3",
        "value": "texto 3 para traducción".
         },"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, usar: lista / valor

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

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

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

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

Importar YAML

Ejemplo de archivo YAML:

título: A
text: translate A
categorías:
  título: B
  text: translate B
categorías:
  título: C
  texto: traducir C
categorías:
  contenido:
      título: 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 reglas de segmentación en archivos .SRX.

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

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

Ejemplo

Descripción

[\p{C}]

Carácter 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 una 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 completo

\uff61

Punto completo ideográfico de ancho medio

\ufe56

Pequeño signo de interrogación

\uff1f

Signo de interrogación de ancho completo

\u203c

Signo de exclamación doble

\u2048

Signo de exclamación de interrogación

\u2762

Adorno pesado del signo de exclamación

\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

Controles de QA personalizados comunes

Verificación QA

Regexp fuente

Regexp meta

Números adicionales en meta

\d 

\d 

Orden tags (no emparejado, para segmentos de 3 tags).

Ajusta la regexp según el número requerido de tags.

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

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

Orden tags (emparejado, para segmentos de 3 tags).

Ajusta la regexp según el número requerido de tags.

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

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

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

Espacios after 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

Sin espacio antes de 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}\})

Caracteres que no son espacios en blanco después de tags pareados

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

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

Faltan corchetes

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

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

Faltan corchetes

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

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

¿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.