Especificar expresiones regulares para el filtro de pantalla avanzada
Las expresiones regulares (RegEx) son potentes fórmulas de búsqueda que pueden localizar patrones complejos de caracteres dentro de textos. En Trados Studio puede utilizar expresiones regulares para filtrar los segmentos que coincidan con un determinado patrón. Trados Studio utiliza la sintaxis .NET para las expresiones regulares.
Por qué y cuándo se efectúa esta tarea
Para especificar una expresión regular para el campo Origen o Destino del filtro de pantalla avanzada:
Procedimiento
Ejemplo
- Ejemplos de expresiones regulares
-
Resultado Expresión regular Explicación Mostrar todos los segmentos con diferente uso de mayúsculas en origen y destino
Origen:
[A-Z]Destino:
^[a-z]Asegúrese de activar la opción Distingue entre mayúsculas y minúsculas. De lo contrario, el motor de expresiones regulares encuentra cadenas tanto en minúsculas como en mayúsculas para ambos patrones.
El símbolo de intercalación ^ indica el comienzo de un segmento.
[A-Z] describe el intervalo de todas las letras mayúsculas, mientras que [a-z], el de todas las letras minúsculas.
Mostrar todos los segmentos con puntuación final diferente en origen y destino
Origen:
\.$Destino:
[^.]$Estas expresiones encuentran todos los pares de segmentos que terminan con un punto en el texto de origen pero no en el destino. En la primera expresión,
$indica el final de una cadena o segmento, y la barra diagonal inversa (\) seguida del punto indica un punto literal.En la segunda expresión, el símbolo de intercalación dentro del conjunto marca la negación, por lo que
[^.]indica cualquier carácter que no sea un punto.Puede modificar esta expresión para buscar otros signos de puntuación. Por ejemplo, las siguientes RegEx encuentran todos los segmentos que terminan con un signo de interrogación en el origen pero no en el destino:
- RegEx de origen:
?$ - RegEx de destino:
[^?]$
- RegEx de origen:
- Construcciones de referencia inversa para expresiones regulares
-
Las referencias inversas reutilizan las subcoincidencias identificadas anteriormente en la misma expresión regular (RegEx) o en la RegEx de reemplazo correspondiente. Las referencias inversas son útiles cuando necesita repetir una secuencia de caracteres como
/(abc)(abc)(abc)en la misma RegEx o en la RegEx de reemplazo correspondiente. En lugar de copiar el grupo de caracteres(abc)varias veces, puede volver a utilizarlo insertando referencias inversas al original.Puede utilizar referencias inversas con nombres y números en el siguiente formato:Sintaxis Expresión regular Explicación \k<name>\number
al hacer referencia a un componente anterior de la misma RegEx
(?<x> abc ) = \k<x>coincide conabc=abc"(abc) = \1"coincide con"abc=abc"
${group name}1$
al hacer referencia a un componente de una RegEx correspondiente
(?<TheBoy>Jack) and (?<TheGirl>Jill)coincide conJack and Jillen el segmento de origen [EN]:¡Jack y Jill subían esa colina de nuevo!En la RegEx de destino, puede reutilizar las coincidencias identificadas por los grupos <TheBoy> y <TheGirl> con una referencia posterior etiquetada o numerada:
${TheBoy} e ${TheGirl}$1 e $2
Ambos coincidirán con
Jack e Jillen el segmento de destino [IT]:Jack e Jill salirono di nuovo su quella collina!
- Caracteres especiales para expresiones regulares
-
Los metacaracteres son las unidades básicas de las expresiones regulares (RegEx). Los caracteres de las RegEx se entienden como metacaracteres con un significado especial o como caracteres normales con un significado literal.
A continuación se muestran algunos metacaracteres comunes de RegEx y ejemplos de qué cadenas coincidirán en un segmento.
Metacarácter Descripción Ejemplo de RegEx Coincidencia \Carácter de escape. Cancela el significado especial de cualquier metacarácter de esta lista que siga inmediatamente a la barra invertida y, en su lugar, coincide con el carácter literal. «www\.rws\.com»«www.netwrix.com»pero no«www,rws,com».\bDefine el límite de una palabra. \bstud«stud»y«studio»pero no«tradosstudio».\wCoincide con cualquier carácter de palabra. \w«I»«D»«S»«1»,«3»en «ID S1.3»\WCoincide con cualquier carácter que no sea alfanumérico.
\W« », «.» en «ID S1.3»\dCoincide con cualquier carácter numérico; equivalente a [0-9]Studio\d\d«Studio21»\DCoincide con cualquier carácter no numérico; equivalente a [ 0-9]Studio\D«Studio-»\sCoincide con cualquier carácter de espacio en blanco (espacio, tabulación, salto de línea o salto de página). Trados\sStudio«Trados Studio»y«Trados(tab)Studio»\SCoincide con cualquier carácter que no sea de espacio en blanco. Studio\S«StudioT»y«Studio1»\rCoincide con un carácter de retorno de carro. \tCoincide con un carácter de tabulación. .Coincide con cualquier carácter individual excepto un carácter de nueva línea. Entre corchetes, el punto es literal. Por ejemplo: a.ccoincide conabc, etc., pero[a.c]solo coincide cona,.oc.«t.....»«to RWS»en«Welcome to RWS».[ ]Crea una clase de caracteres, que le permite hacer coincidir cualquiera de los conjuntos de caracteres que especifique. Puede utilizar
-para especificar un intervalo de caracteres. Por ejemplo,[a-z]coincide con cualquier letra minúscula.[au]«a»en«Trados»,«u»en«Studio».^Coincide con la posición inicial de un segmento. También puede buscar cualquier carácter que no esté en una clase de caracteres determinada agregando
^al principio de una clase de caracteres. Por ejemplo,[^0-9]coincide con cualquier carácter que no sea un número.^[^a-z0-9]Cualquier carácter al principio del segmento que no sea una letra minúscula ni tampoco un número. Asegúrese de activar la opción Distingue entre mayúsculas y minúsculas. De lo contrario, el motor de expresiones regulares busca cadenas que no empiecen por una letra o un número.
*Coincide con el elemento anterior cero o más veces. \d*\.\d«.0»,«19.9»,«219.9».?Coincide con el elemento anterior cero o una vez. Resulta útil para buscar caracteres opcionales. colo?r«Color»»«color».+Coincide con el elemento anterior una o más veces. be+«bee»en«been»«bent».|Coincide con cualquier elemento separado por la barra vertical |. th(e|is|at)«the»,«this»en«this is the day».{n}Coincide con el carácter de la izquierda exactamente nveces.be{2}«bee»pero no«be»( )Crea un grupo y «recuerda» la sección coincidente de la cadena. Los grupos se pueden utilizar referencias inversas o para extraer una subcadena. Origen: (?<TheBoy>Jack) y (?<TheGirl>Jill)Destino: ${TheBoy} e ${TheGirl}
Jack and Jillen el segmento de origen [EN]:¡Jack y Jill subían esa colina de nuevo!En la RegEx de destino, puede reutilizar las coincidencias identificadas por los grupos <TheBoy> y <TheGirl> con una referencia posterior etiquetada o numerada:
${TheBoy} e ${TheGirl}$1 e $2
Ambos coincidirán
con «Jack e Jill»en el segmento de destino [IT]:Jack e Jill salirono di nuovo su quella collina!$- Sustituye la subcadena coincidente por nombre de grupo o grupo.
- Cuando se utiliza como último carácter de un patrón, fija una coincidencia al final de una cadena.
Para hacer coincidir un símbolo
$literal, utilice\$o enciérrelo dentro de una clase de caracteres, como en[$].< >Captura la subexpresión coincidente en un grupo con nombre. (?<double>\w)\k<double>«ee»en«deep»-Intervalo de caracteres: Coincide con cualquier carácter individual del intervalo del primero al último. [A-Z]«A»«B»en«AB123» - Recursos útiles
-
- RegEx buddy es una aplicación que permite probar, crear, decodificar y depurar expresiones regulares. También incluye una biblioteca de expresiones regulares de uso común.
- A competitive edge es una útil publicación de blog sobre el uso de expresiones regulares en Trados Studio.
- Regular expressions for beginners es un blog sobre cómo iniciarse con las expresiones regulares.
- Introducing regular expressions es un libro en línea de Michael Fitzgerald que explica los fundamentos de las expresiones regulares.
- Construcciones de referencia inversa en expresiones regulares