高度な表示フィルタの正規表現の指定

正規表現 (regex) は、テキスト内の複雑な文字パターンを検索できる強力な検索式です。Trados Studio では、正規表現を使用して、特定のパターンに一致する分節をフィルタリングできます。Trados Studio では、.NET の正規表現構文を使用しています。

このタスクについて

高度な表示フィルタの[原文]フィールドまたは[訳文]フィールドで正規表現を指定するには、次の手順を実行します。

手順

  1. エディタ ビューで [表示]タブを開き、[高度な表示フィルタ 2.0]を選択します。
    [高度な表示フィルタ 2.0]ウィンドウを常に表示しておくには、[自動的に非表示にする]ボタンを選択します。
  2. [コンテンツ]タブを開き、[原文]または[訳文]フィールドに正規表現を入力します。
  3. 右側のドロップダウン メニューから、[AND]または[OR]を選択して、原文と訳文の検索フィルタを組み合わせます。[AND]は、原文の条件と訳文条件の両方に一致する分節のみを表示するより厳格なフィルタであるのに対し、[OR]は、原文の条件または訳文の条件のいずれかに一致する分節を返します。
  4. [正規表現]オプションを有効にします。有効にしない場合、Trados Studio では[コンテンツ]の[原文]フィールドと[訳文]フィールドの文字パターンがリテラル文字として解釈されます。
  5. 原文または訳文の正規表現に後方参照が含まれている場合は、[後方参照]オプションをアクティブにします。Trados Studio では、名前付きおよび番号付きの後方参照を次の形式でサポートしています: ${group name} および $1
  6. [DSI 情報]フィールドで、結果を特定の分節タイプに制限するかどうかを指定します。たとえば、タイトル分節のみを表示するには、H または heading と入力します。
  7. タグ コンテンツで分節の結果をフィルタリングするには、[テキストとタグ コンテンツを検索]または[タグ コンテンツ内のみ検索]を有効にします。最初のオプションではタグ属性のコンテンツとタグ内の翻訳可能コンテンツが検索されますが、2 番目のオプションでは font=Curier New のようなタグ属性のコンテンツのみが検索されます。
  8. 正規表現のリテラル文字の大文字と小文字を一致させる場合は、[大文字と小文字を区別する]オプションをオンにします。Studio の既定では、大文字と小文字の区別は無視されます。たとえば、^T という正規表現は小文字と大文字の両方の T で始まる分節を返します。
  9. [属性のフィルタ][コメント][文書構造][分節][色][サンプリング]タブで、使用可能な追加のフィルタを適用します。
    現在の検索で考慮される追加のフィルタが含まれる各タブの横には、チェックマーク アイコン が表示されます。適用されたフィルタおよびその検索結果は、[高度な表示フィルタ]の下部にあるステータス バーで確認できます。

正規表現の例
結果正規表現説明

原文と訳文で大文字と小文字が異なるすべての分節を表示

原文: ^[A-Z]

訳文: ^[a-z]

[大文字と小文字を区別する]オプションを必ず有効にしてください。そうしない場合、正規表現エンジンは両方のパターンの小文字と大文字の両方の文字列を検索します。

キャレット記号 ^ は、分節の先頭を示します。

[A-Z] はすべての大文字の範囲を表し、[a-z] はすべての小文字の範囲を表します。

原文と訳文で末尾の句読点が異なるすべての分節を表示

原文: \.$

訳文: [^.]$

これらの式では、原文テキストはピリオドで終わるが訳文ではピリオドで終わっていないすべての分節ペアが検索されます。

最初の式で、$は文字列または分節の終わりを示し、円記号 (\) の後に続くドットは文字列としてのピリオドを示します。

2 番目の式では、セット内のキャレットは否定を示すので、[^.] は、ピリオド以外の文字を示します。

この式を変更して、他の句読点を検索できます。たとえば、次の正規表現は、原文は疑問符で終わるが訳文では疑問符で終わっていないすべての分節ペアが検索されます。

  • 原文正規表現: ?$
  • 訳文正規表現: [^?]$
正規表現の後方参照構成体

後方参照は、同じ正規表現 (regex) 内または対応する置換パターン内で以前に識別されたサブ一致を再利用します。後方参照は、/(abc)(abc)(abc) のように同じ正規表現内または対応する置換パターン間で文字を繰り返す必要がある場合に便利です。文字グループ (abc) を何度もコピーするのではなく、元の文字グループに後方参照を挿入することで再利用できます。

名前付きおよび番号付きの後方参照を次の形式でサポートしています。
構文正規表現説明
  • \k<name>
  • \number

同じ正規表現の前のコンポーネントを参照

  • (?<x> abc ) = \k<x>abc=abc に一致
  • "(abc) = \1""abc=abc" に一致
  • ${group name}
  • $1

対応する正規表現のコンポーネントを参照

(?<TheBoy>Jack) and (?<TheGirl>Jill) は、原文分節 [英語]『Jack and Jill went up that hill again!』の「Jack and Jill」に一致

訳文の正規表現では、<TheBoy> および <TheGirl> グループによって識別された一致を、名前付きまたは番号付きの後方参照で再利用できます。

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

どちらも、訳文分節 [イタリア語]『Jack e Jill salirono di nuovo su quella collina!』の「Jack e Jill」に一致

正規表現の特殊文字

メタ文字は正規表現 (regex) の構成要素です。正規表現の文字は、特殊な意味を持つメタ文字か、リテラルの意味を持つ正規の文字のいずれかであるとみなされます。

次に、一般的な正規表現メタ文字と、分節内で一致する文字列の例を示します。

メタ文字説明正規表現の例一致
\エスケープ文字。円記号の直後にある、このリスト内のメタ文字の特殊な意味をキャンセルし、代わりにリテラル文字であることを示します。"www\.rws\.com" 「www.netwrix.com」に一致するが「www,rws,com」には一致しない
\bワード境界を定義します。 \bstud「stud」および「studio」に一致するが「tradosstudio」には一致しない
\w単語に使用される任意の文字と一致します。 \w『ID S1.3』「I」「D」「S」「1」「3」
\W単語に使用される文字以外の

任意の文字と一致します。

\W『ID S1.3』の「 」、「.」
\d任意の 10 進数字と一致します。[0-9] と同じです。 Studio\d\d「Studio21」
\D10 進数字以外の任意の文字と一致します。[^0-9] と同じです。 Studio\D「Studio-」
\s空白文字 (スペース、タブ、改行、フォーム フィード) と一致します。Trados\sStudio「Trados Studio」 および 「Trados (タブ) Studio」
\S空白以外の文字と一致します。Studio\S「StudioT」 および 「Studio1」
\r改行文字と一致します。
\tタブ文字と一致します。
.改行文字以外の任意の 1 文字と一致します。角括弧内のドットはリテラルです。例: a.cabc などに一致しますが、[a.c]a.または c のみに一致します。"t....."「Welcome to RWS」「to RWS」に一致
[ ]指定した文字セットのいずれかと一致する文字クラスを作成します。

- を使用して、文字の範囲を指定できます。たとえば、[a-z] は任意の小文字の 1 文字に一致します。

[au]『Trados』「a」『Studio』「u」
^分節の開始位置に一致します。

また、文字クラスの先頭に ^ を追加することで、特定の文字クラスに含まれていない任意の文字を照合することもできます。たとえば、 [^0-9] は数字以外の文字と一致します。

^[^a-z0-9]分節の先頭にある、小文字ではなく、数字でもない任意の文字。

[大文字と小文字を区別する]オプションを必ず有効にしてください。そうしない場合、正規表現エンジンは文字または数字で始まらない文字列を検索します。

*前の要素の 0 回以上の繰り返しを意味します。\d*\.\d 「.0」「19.9」「219.9」
?前の要素の 0 回または 1 回の繰り返しを意味します。オプションの文字を検索する場合に便利です。colo?r 「color」「colour」
+前の要素の 1 回以上の繰り返しを意味します。be+『been』「bee」「bent」
|バーティカルバーで区切られた任意の 1 つの要素に一致します。th(e|is|at) 『this is the day』「the」「this」
{n}左の文字の n 回の繰り返しを意味します。be{2}「bee」には一致するが「be」には一致しない
( )グループ化し、文字列の一致する部分を「記憶」します。グループは、後方参照または部分文字列の抽出に使用できます。

原文: (?<TheBoy>Jack) and (?<TheGirl>Jill)

訳文: ${TheBoy} e ${TheGirl}

原文分節 [英語]『Jack and Jill went up that hill again!』の「Jack and Jill」に一致。

訳文の正規表現では、<TheBoy> および <TheGirl> グループによって識別された一致を、名前付きまたは番号付きの後方参照で再利用できます。

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

どちらも、訳文分節 [イタリア語]『Jack e Jill salirono di nuovo su quella collina!』の「Jack e Jill」に一致

$
  • グループまたはグループ名に一致する部分文字列を置換します。
  • パターンの最後の文字として使用すると、文字列の最後に一致する文字がアンカーされます。

リテラルの $ を一致させるには、\$ を使用するか、または [$] のように文字クラス内で囲みます。

< >一致するサブ式を名前付きグループにキャプチャします。(?<double>\w)\k<double> 『deep』「ee」
-文字範囲: 最初から最後までの範囲内の任意の 1 文字に一致します。[A-Z] 『AB123』「A」「B」
役立つリソース