Spécification d'expressions régulières pour le filtre d'affichage avancé

Les expressions régulières (RegEx) sont de puissantes formules de recherche qui peuvent localiser des modèles de caractères complexes dans les textes. Dans Trados Studio, vous pouvez utiliser des expressions régulières pour filtrer les segments correspondant à un certain modèle. Trados Studio utilise la syntaxe .NET pour les expressions régulières.

Pourquoi et quand exécuter cette tâche

Pour spécifier une expression régulière pour le champ Source ou Cible du filtre d'affichage avancé, procédez comme suit :

Procédure

  1. Dans l'affichage Éditeur, ouvrez l'onglet Afficher et sélectionnez Filtre d'affichage avancé 2.0.
    Pour afficher en permanence la fenêtre Filtre d'affichage avancé 2.0, cliquez sur le bouton Masquer automatiquement.
  2. Dans l'onglet Contenu, saisissez vos expressions régulières dans le champ Source et/ou Cible.
  3. Dans le menu déroulant de droit, sélectionnez AND ou OR pour combiner les filtres de recherche source et cible. Alors que AND est un filtre plus strict qui affiche uniquement les segments qui correspondent aux deux critères source et cible, OR renvoie des segments qui correspondent soit au critère source, soit au critère cible.
  4. Activez l'option Expression régulière. Sinon, Trados Studio interprète les modèles de caractères dans les champs Source et Cible de contenu comme des caractères littéraux.
  5. Si votre RegEx source ou cible contient des références arrière, activez l'option Référence arrière. Trados Studio prend en charge les références arrière nommées et numérotées au format suivant : ${group name} et $1.
  6. Dans le champ Informations sur la structure du document, indiquez si vous souhaitez limiter les résultats à des types de segments spécifiques. Par exemple, saisissez H ou heading pour afficher uniquement les segments de titre.
  7. Pour filtrer les résultats de segment par contenu de balise, activez l'option Rechercher dans le texte et le contenu des balises ou Rechercher uniquement dans le contenu des balises. La première option recherche le contenu des attributs de balise, ainsi que le contenu à traduire à l'intérieur des balises, tandis que la deuxième option recherche uniquement le contenu des attributs de balise comme font=Courier New.
  8. Activez l'option Respecter la casse si vous souhaitez que la casse du caractère littéral soit respectée dans votre expression régulière. Par défaut, Studio ignore la casse. Par exemple, la RegEx ^T renvoie des segments commençant par un T minuscule et majuscule.
  9. Appliquez les filtres supplémentaires disponibles dans les onglets Attributs de filtre, Commentaires, Structure du document, Segment, Couleur, Échantillonnage .
    Une icône symbolisant une coche apparaît en regard de chaque onglet contenant des filtres supplémentaires sélectionnés pour la recherche en cours. Vous pouvez voir les filtres appliqués et les résultats de recherche dans la barre d'état en bas du filtre d'affichage avancé.

Exemple

Exemples d'expressions régulières
RésultatExpression régulièreExplication

Afficher tous les segments avec des majuscules différentes dans la source et la cible

Source : ^[A-Z]

Cible :^[a-z]

Veillez à activer l'option Respecter la casse. Dans le cas contraire, le moteur d'expression régulière recherche des chaînes en minuscules et en majuscules pour les deux modèles.

L'accent circonflexe ^ indique le début d'un segment.

[A-Z] indique toutes les lettres majuscules, tandis que [a-z] indique toutes les lettres minuscules.

Afficher tous les segments avec des signes de ponctuation finale différents dans la source et la cible

Source : \.$

Cible : [^.]$

Ces expressions recherchent toutes les paires de segments qui se terminent par un point dans le texte source mais pas dans la cible.

Dans la première expression, le symbole $ indique la fin d'une chaîne ou d'un segment, et la barre oblique inverse (\) suivie du point indique un point littéral.

Dans la deuxième expression, l'accent circonflexe placé à l'intérieur des crochets indique une négation. Ainsi, [^.] indique tout caractère qui n'est pas un point.

Vous pouvez modifier cette expression pour rechercher d'autres signes de ponctuation. Par exemple, les RegEx suivantes recherchent tous les segments se terminant par un point d'interrogation dans la source mais pas dans la cible :

  • Source RegEx : ?$
  • Cible RegEx : [^?]$
Constructions de référence arrière dans les expressions régulières

Les références arrière réutilisent les sous-correspondances précédemment identifiées dans la même expression régulière (RegEx) ou dans la RegEx de remplacement correspondant. Les références arrière sont utiles lorsque vous devez répéter une séquence de caractères comme /(abc)(abc)(abc) dans la même RegEx ou dans la RegEx de remplacement correspondant. Au lieu de copier plusieurs fois le groupe de caractères (abc), vous pouvez le réutiliser en insérant des références arrière à l'original.

Vous pouvez utiliser les deux références arrière, nommées et numérotées, au format suivant :
SyntaxeExpression régulièreExplication
  • \k<name>
  • \number

Lors du référencement d'un précédent composant de la même RegEx

  • (?<x> abc ) = \k<x> correspond à abc=abc
  • "(abc) = \1" correspond à "abc=abc"
  • ${group name}
  • $1

Lors du référencement d'un composant d'une RegEx correspondant

(?<TheBoy>Jack) and (?<TheGirl>Jill) correspond à Jack and Jill dans le segment source [EN] : Jack and Jill went up that hill again!

Dans la cible RegEx, vous pouvez réutiliser les correspondances identifiées par les groupes <TheBoy> et <TheGirl> avec une référence arrière nommée ou numérotée :

  • ${TheBoy} e ${TheGirl}
  • $1 e $2

Ces deux éléments correspondent à Jack e Jill dans le segment cible [IT] : Jack e Jill salirono di nuovo su quella collina!

Caractères spéciaux pour les expressions régulières

Les métacaractères sont les éléments de construction des expressions régulières (RegEx). Dans les expressions régulières, les caractères sont considérés comme des métacaractères avec une signification particulière ou comme des caractères réguliers avec une signification littérale.

Vous trouverez ci-après quelques métacaractères de RegEx courants, ainsi que des exemples des chaînes qui pourraient correspondre dans un segment.

MétacaractèreDescriptionExemple de RegExCorrespondance
\Caractère d'échappement. Annule la signification particulière de tout métacaractère de cette liste, qui suit immédiatement la barre oblique inverse et qui correspond alors au caractère littéral."www\.rws\.com" "www.netwrix.com" mais pas "www,rws,com".
\bDéfinit la limite d'un mot. \bstud"stud" et "studio" mais pas "tradosstudio".
\wCorrespond à un seul caractère, quel qu'il soit. \w "I""D" "S" "1", "3" dans "ID S1.3"
\WCorrespond à tout

caractère autre qu'un mot.

\W" " ,"." dans "ID S1.3"
\dCorrespond à n'importe quel caractère numérique ; équivalent à [0-9] Studio\d\d"Studio21"
\DCorrespond à n'importe quel caractère on numérique ; équivalent à [^0-9] Studio\D"Studio-"
\sCorrespond à n'importe quel caractère d'espacement (espace, tabulation, saut de ligne ou saut de page).Trados\sStudio"Trados Studio" et "Trados (tabulation) Studio"
\SCorrespond à tout caractère autre qu'un espace.Studio\S"StudioT" et "Studio1"
\rCorrespond à un caractère de retour chariot.
\tCorrespond à un caractère de tabulation.
.Correspond à n'importe quel caractère unique à l'exception du saut de ligne. Entre crochets, le point est littéral. Par exemple : a.c correspond à abc, etc., mais [a.c] correspond uniquement à a, . ou c."t.....""to RWS" dans "Welcome to RWS".
[ ]Crée une classe de caractères qui vous permet de faire correspondre l'un des jeux de caractères que vous spécifiez.

Vous pouvez utiliser un tiret - pour spécifier une plage de caractères. Par exemple, [a-z] correspond à n'importe quelle lettre minuscule.

[au]"a" dans "Trados", "u" dans "Studio".
^Correspond à la position de départ d'un segment.

Vous pouvez également faire correspondre n'importe quel caractère ne figurant pas dans une classe de caractères donnée en ajoutant ^ au début de la classe de caractères en question. Par exemple, [^0-9] correspond à tout caractère qui n'est pas un chiffre.

^[^a-z0-9]Correspond à tout caractère au début du segment qui n'est ni une lettre minuscule ni un chiffre.

Veillez à activer l'option Respecter la casse. Sinon, le moteur d'expression régulière recherche les chaînes qui ne commencent pas par une lettre ou un chiffre.

*Correspond à l'élément précédent, zéro fois ou plusieurs fois.\d*\.\d ".0","19.9","219.9".
?Correspond à l'élément précédent, zéro fois ou une fois. Il est utile pour rechercher des caractères facultatifs.colo?r "color""colour".
+Correspond à l'élément précédent, une ou plusieurs fois.be+"bee" dans "been" "bent".
|Correspond à n'importe quel élément séparé par une barre verticale |.th(e|is|at) "the", "this" dans "this is the day".
{n}Correspond au caractère de gauche, répété exactement n fois.be{2}"bee" mais pas "be"
( )Crée un groupe et « mémorise » la section correspondante de la chaîne. Les groupes peuvent être utilisés pour les références arrière ou pour extraire une sous-chaîne.

Source : (?<TheBoy>Jack) and (?<TheGirl>Jill)

Cible : ${TheBoy} e ${TheGirl}

Jack and Jill dans le segment source [EN] : Jack and Jill went up that hill again!

Dans la cible RegEx, vous pouvez réutiliser les correspondances identifiées par les groupes <TheBoy> et <TheGirl> avec une référence arrière nommée ou numérotée :

  • ${TheBoy} e ${TheGirl}
  • $1 e $2

Ces deux éléments correspondent à "Jack e Jill" dans le segment cible [IT] : Jack e Jill salirono di nuovo su quella collina!

$
  • Remplace la sous-chaîne correspondante par le groupe ou le nom du groupe.
  • Lorsqu'il est utilisé comme dernier caractère d'un modèle, il ancre une correspondance à la fin d'une chaîne.

Pour faire correspondre un symbole $ littéral, utilisez la combinaison \$ ou placez ce symbole dans une classe de caractères, comme dans [$].

< >Capture la sous-expression correspondante dans un groupe nommé.(?<double>\w)\k<double> "ee" dans "deep"
-Plage de caractères : correspond à n'importe quel caractère de la plage, du premier au dernier.[A-Z] "A" "B" dans "AB123"
Ressources utiles