Editores CAT

Expresiones regulares en el editor web (TMS)

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

El soporte de expresiones regulares en el editor web está limitado por la implementación del motor Lucene Regex.

Para usar expresiones regulares, habilite Coincidencia usando expresiones regulares en la configuración del filtro. Una marca de verificación verde en el campo de entrada del filtro indica la validación exitosa de una expresión regular válida.

Las consultas son, por defecto, insensibles a mayúsculas. Habilite Coincidencia exacta en la configuración del filtro para hacerlas sensibles a mayúsculas.

Coincidencia de palabras (asegurando que coincida solo con palabras completas y no con subcadenas dentro de palabras más largas) no está disponible.

La consulta ^abc$ funcionará como se espera, es decir, coincidiendo con todo el segmento, mientras que abc coincidirá con la subcadena abc en cualquier texto.

Limitaciones

La correcta sustitución de consultas parcialmente formateadas no es compatible, por ejemplo, buscar "Jméno: $1, Příjmení: $2." en el texto "\{b\>Nombre<}: Bob, \{biu\>Apellido\<biu\}: Dylan." se reemplazará como “{>Jméno: Bob, Příjmení: Dylan\<b\}”

Patrones no soportados

  • El ancla de límite de palabra \b se utiliza para coincidir palabras exactas (funciona en el editor de escritorio).

  • \\[1-9] - Referencias inversas (\1, \2, etc.), por ejemplo, (\w+)\s+\1 para coincidir palabras duplicadas como “hola hola”

  • \(\?=|\(\?!|\(\?&lt;=|\(\?&lt;! - Mirada hacia adelante y mirada hacia atrás, por ejemplo, gato(?=\.jpg) para coincidir “gato” solo en “gato.jpg”

  • \(\?: - Grupos no capturantes, por ejemplo, (?:Sr|Sra|Srta)\. \w+, pero los grupos capturantes (Sr|Sra|Srta)\. \w+ son compatibles y coinciden con nombres como “Sra. Smith”, “Sr. Brown”

  • \(\?# - Comentarios en línea, por ejemplo, \d{4}-(?# año)\d{2}-(?# mes)\d{2}(?# día) para coincidir “2025-06-25”

  • \(\?P<[^>]+> - Grupos de captura nombrados, por ejemplo, (?P<amount>\d+)\s?(?P<currency>USD|EUR) para coincidir “150 USD” y “99 EUR”

Uso

Coincidencia de patrones básica

Punto (.) como un marcador de posición para cualquier carácter único

  • c.at: Concordancias: “chat”, “abrigo”. No concordancia: “gato”, “engañar”

  • wa.ter: Concordancias: “camarero”, “desperdiciador”. No concordancia: “agua”

  • s.ip: Concordancias: “saltar”, “barco”, “resbalar”. No concordancia: “sorber”, “desnudarse”

Cuantificadores

? - Cero o una ocurrencia

  • colou?r: Concordancias: “color”, “color”

  • g?rain: Concordancias: “grano”, “lluvia”

  • books?: Concordancias: “libro”, “libros”

.* - Cualquier número de caracteres (incluyendo ninguno)

  • h.*y: Concordancias: “feliz”, “historia”, “miel”

  • sa.*d: Concordancias: “triste”, “arena”, “satisfecho”

  • m.*ing: Concordancias: “mañana”, “reunión”, “mercadotecnia”

.+ - Debe aparecer al menos un carácter

  • pa.+er: Concordancias: “papel”, “pintor”

  • a.+ed: Concordancias: “preguntado”, “aceptado”, “permitido”

* - Cero o más ocurrencias

  • go*al: Concordancias: “meta”, “goooooooal”

+ - Una o más ocurrencias

  • no+: Coincide con: “no”, “noooooo”

  • $1+: Coincide con: “$1”, “$11”, “$111”

Se recomienda usar un patrón lo más específico posible, ya que los patrones abiertos pueden causar problemas de rendimiento en el editor.

Importante

El editor tiene un límite incorporado sobre cuán complejo puede ser un patrón regex. Los patrones que son demasiado amplios o que utilizan en gran medida comodines pueden fallar como regex inválidos. Para evitar esto:

  • Mantén los patrones cortos y específicos. error-[0-9]{3} está bien; .*a.*b.*c.*d.* no lo está.

  • Minimiza los comodines. Cada .+ o .* multiplica la complejidad interna. Prefiere clases de caracteres como [A-Z]+ sobre .* cuando sea posible.

  • Evita largas alternaciones con repetición. Un patrón como (word1|word2|...|word20){2,} puede superar rápidamente el límite. Esto se amplifica cuando las alternativas incluyen múltiples palabras o puntuación, lo que añade a la complejidad del regex.

  • Ancla un lado cuando sea posible. ^prefix.* es mucho más barato que .*middle.*.

Si el patrón es rechazado, intenta hacerlo más específico: comienza con un prefijo fijo más largo y reduce desde allí. Considera reducir el número de alternativas o manejarlas en patrones separados en lugar de combinar todo en un regex complejo.

Ejemplo:

Filtrando direcciones de correo electrónico:

  • Este patrón coincidirá con espacios y todas las palabras circundantes con potencialmente demasiados resultados: .*@.*

  • Para limitar los resultados a todas las direcciones de correo electrónico: [\w.+\-]+@[\w.+\-]+

  • Para limitar los resultados solo a correos electrónicos .com: [\w.+\-]+@[\w.+\-]\.com

  • Para limitar los resultados a aquellos que tienen un dígito en las direcciones de correo electrónico: [\w.+\-]*\d+[\w.+\-]*@[\w.\-]+

Alternaciones (operador OR)

  • gato|perro: Coincide: “gato” y “perro”

  • rojo|azul|verde: Coincide: “rojo”, “azul”, “verde”

Clases de Caracteres y Rangos

  • [A-Z]+: Coincide con una o más letras mayúsculas en fila (una secuencia).

  • [A-Z]{2,}: Coincide con cualquier serie de letras mayúsculas (útil para, por ejemplo, coincidir con acrónimos o cadenas escritas en letras mayúsculas)

  • [0-9]{4}: Coincide con números de cuatro dígitos, por ejemplo. "1999", "2003", "1876" (también se encuentra dentro de una cadena de más de cuatro dígitos; para limitar los resultados, se debe usar la opción de palabras de coincidencia planeada para el futuro)

  • [A-Za-z0-9]+: Coincide con cualquier cadena alfanumérica (¡hola! → hola coincidiría, pero ! no es parte de [A-Za-z0-9]; 100% → solo 100 coincidiría)

  • ([A-Za-z]+\d+|\d+[A-Za-z]+): Coincide estrictamente con una combinación de dígitos y letras, por ejemplo, “usuario123”, “Admin99”, “Win11”, “5g”, “1080p”

  • [0-9]{2,4}-[A-Z]{2,3}: Coincide con matrículas, por ejemplo. “12-XY”, “9999-ABC”

Escapando Caracteres Reservados . ? * { } [ ] ( ) " \

  • \+[0-9]{1,2}: Coincide con “+40”, “+1”

  • \{version: [0-9]+\}: Coincide con “{version: 12}”, “{version: 13}”

  • C:\\[A-Za-z]+: Coincide con “C:\Users”, C:\Documents, “C:\Desktop”

Filtrado sin distinción entre mayúsculas y minúsculas VS Filtrado sensible a mayúsculas y minúsculas

  • Por defecto, el filtrado regex se implementará como sin distinción entre mayúsculas y minúsculas. c.at: Coincide con: “chat”, “Chat”, “CHAT” y “coat”, “Coat”, “COAT”

  • El filtrado regex se puede combinar con el filtro de UI Case sensitive

Grupos de captura

Los grupos de captura regex son reconocidos y la consulta completa se resalta, por ejemplo, s(e)g resaltará "seg". Los grupos de captura se pueden usar para reemplazo, por ejemplo, “Nombre: Bob” se puede buscar con Name: (.*?) y reemplazar usando una referencia inversa a Jméno: $1.” Las referencias inversas faltantes se manejan con gracia, es decir, la consulta Name: (.*?) con el reemplazo Jméno: $1, Título: $2 se reemplazará como Jméno: Bob, Título: $2.

Ejemplos para reemplazo de referencia inversa:

  • filtrar (\d+),(\d+) y reemplazar $1.$2 para normalizar separadores decimales (por ejemplo, de 5,6 o 35,949 a 5.6 o 35.949)

  • filtrar (\d+)\.(\d+) y reemplazar $1,$2 para normalizar separadores decimales (por ejemplo, de 5.6 o 35.949 a 5,6 o 35,949)

  • filtrar (\d{4})-(\d{2})-(\d{2}) y reemplazar $3/$2/$1 para reformatear la fecha (por ejemplo, de 2025-06-05 a 05/06/2025)

  • filtrar ID-(\d{3,}) y reemplazar Ticket #$1 para extraer el número del ticket (por ejemplo, de ID-45321 a Ticket #45321)

  • filtrar (cat|dog) y reemplazar $1-$1 para duplicar el texto coincidente (por ejemplo, de cat a cat-cat y de dog a dog-dog)

  • Grupo opcional: filtrar Hola(, (\w+))? y reemplazar Hola $1 para transformar saludos reemplazando "Hola" antes de nombres o por sí solo (por ejemplo, de Hola, John a Hola John y de Hola a Hola)

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