このオプション ページに移動するには、Araxis Merge > 環境設定... > テキスト比較 > 正規表現 を選択します。
このページのコントロールを使用してテキスト比較(Merge の設定方法によってはフォルダ比較中に実行されるテキスト ファイルの比較も含むことがあります)で使用される正規表現の一覧を編集します。
正規表現は、比較の実行時に Merge で無視させる重要でないテキストと一致させるために使用します。この機能は、ファイル内の重要視しない変更点または書式だけに影響する変更を除外する場合に使用できます。
正規表現リスト
このコントロールには、10 個の正規表現で構成されたリストが含まれています。テキスト比較で使用できるのは、チェックマークが付けられている正規表現のみです。
2 種類の正規表現がサポートされます。最初のタイプは、正規表現と一致する部分を含む行を未変更状態にすることができます(つまり、ファイル比較時に Merge にこれらの行をすべて無視させます)。これは、正規表現と一致する以外に意味のない内容を含む行に対して有用です。2 番目のタイプの正規表現は行全体ではなく、行内で一致する一連の文字を無視するときに使用します。このリスト内の項目をダブルクリックすると、その正規表現と説明を変更できます。
最初のタイプの正規表現と一致する行は変更なしのテキスト用に設定したフォントと色で表示されます。ただし、ほかのファイルのテキストと関連付けしているリンク線は削除されず、ステータス バーに表示される変更カウントにも影響しません。対応する各テキスト
ブロックの各行が正規表現と一致する場合は例外とします。この場合はリンク線も削除され、それに応じてステータス バーの変更カウントも更新されます。
正規表現の構文
Araxis Merge で使用する正規表現の構文は UNIX オペレーティング システムの多くのアプリケーションで使用されるものと同じです。正規表現は一連の単純な特殊文字で、テキスト内で文字のシーケンスを検索するのに使用します。
以下に正規表現の例を挙げます。詳細については、正規表現のリファレンスを参照してください。
単純一致
apple という語を含む行に一致させる場合
apple
apple という語のみを含む行に一致させる場合
^apple$
空白に一致
完全に空、または空白とタブ文字のみを含む行に一致させる場合
^[ ¥t]*$
説明:
-
^は行の先頭に一致します。 -
[ ¥t]*はゼロまたは 1 個以上の空白またはタブ(¥t)文字に一致します。 -
$は行の終わりに一致します。
C++ コメントに一致
C++ スタイルのコメント(// に続けて行の終わりまで任意の文字が並ぶ)のみを含む行に一致させる場合は、次の式が使用できます。
^[ ¥t]*//.*$
説明:
-
^は行の先頭に一致します。 -
[ ¥t]*はゼロまたは 1 個以上の空白またはタブ(¥t)文字に一致します。 -
//は、連続する 2 つの/文字です。 -
.*はゼロまたは 1 個以上の任意の文字に一致します。 -
$は行の終わりに一致します。
ソース コードの制御キーワードに一致
いくつかのバージョン管理製品では、テキスト ファイルに特殊なキーワードを挿入することができます。たとえば、Microsoft の Visual SourceSafe では、「$Date: $」というテキストを展開して最終チェックインの日付と時刻を含めるようにします。異なるリビジョンのファイルを比較する場合、このようなキーワードを含む行はほとんどの場合一致しないので、無視することができます。C++ コメント行に出現する Date キーワードを無視する式は次のようになります。
^[ ¥t]*//.*¥$Date:.*¥$.*$
説明:
-
^は行の先頭に一致します。 -
[ ¥t]*はゼロまたは 1 個以上の空白またはタブ(¥t)文字に一致します。 -
//は、連続する 2 つの/文字です。 -
.*はゼロまたは 1 個以上の任意の文字に一致します。 -
¥$はファイルの終わりではなく、文字$に一致します。¥を文字の前に置くと、その文字はリテラルとして扱われます。正規表現として持っていた特別な意味はなくなります。 -
Date:はDate:と一致します。 -
.*はゼロまたは 1 個以上の任意の文字に一致します。 -
¥$はリテラル文字$に一致します。 -
.*はゼロまたは 1 個以上の任意の文字に一致します。 -
$は行の終わりに一致します。
関連する式:
-
^[ ¥t]*//.*¥$Archive:.*¥$.*$ -
^[ ¥t]*//.*¥$Author:.*¥$.*$ -
^[ ¥t]*//.*¥$Header:.*¥$.*$ -
^[ ¥t]*//.*¥$JustDate:.*¥$.*$ -
^[ ¥t]*//.*¥$Modtime:.*¥$.*$ -
^[ ¥t]*//.*¥$Revision:.*¥$.*$ -
^[ ¥t]*//.*¥$Workfile:.*¥$.*$
式の結合
式によっては () および | 文字を使用して 1 つに結合できるものがあります。
(apple|^pear$)
説明:
-
(は式のグループを開始します。 -
appleはappleという語を含む行に一致します。 -
|は、前の式(apple)または次の式(^pear$)との一致を含む行に一致します。 -
^pear$はpearという語のみから成る行に一致します。 -
)はグループを終了します。
この構文を使用すると以下のような大きな式を構成することができます。
^[ ¥t]*//.*¥$(Date|Archive|Author|Header|
JustDate|Modtime|Revision|Workfile):.*¥$.*$
ほとんどの場合、比較のパフォーマンスは式をできる限り短く作成した方が良くなります。上の例は、次の例より著しくパフォーマンスが良くなります。
(^[ ¥t]*//.*¥$Date:.*¥$.*$)|
(^[ ¥t]*//.*¥$Archive:.*¥$.*$)|
(^[ ¥t]*//.*¥$Author:.*¥$.*$)|
(^[ ¥t]*//.*¥$Header:.*¥$.*$)|
(^[ ¥t]*//.*¥$JustDate:.*¥$.*$)|
(^[ ¥t]*//.*¥$Modtime:.*¥$.*$)|
(^[ ¥t]*//.*¥$Revision:.*¥$.*$)|
(^[ ¥t]*//.*¥$Workfile:.*¥$.*$)
| 関連するトピック |
|---|
