行の正規表現

このオプション ページのコントロールを使用して、テキスト比較(Merge の設定方法によってはフォルダー比較中に実行されるテキスト ファイルの比較も含むことがあります)で使用される行の正規表現の一覧を編集します。

行の正規表現は、テキスト比較する 1 行ずつに適用される正規表現で、Merge に無視させる重要でないテキストと一致させるためのものです。この機能は、ファイル内の重要視しない変更点または書式だけに影響する変更を除外する場合に使用できます。

行の正規表現リスト

このコントロールには、行の正規表現で構成されたリストが含まれています。テキスト比較で使用できるのは、チェックマークが付けられている行の正規表現のみです。行の正規表現の定義を編集するには、対象項目をダブルクリックします。

2 種類の行の正規表現がサポートされます。最初のタイプは、正規表現と一致する部分を含む行を未変更にすることができます(つまり、ファイル比較時に Merge にこれらの行をすべて無視させます)。これは、正規表現と一致する以外に意味のない内容を含む行に対して有用です。2 番目のタイプの行の正規表現は行全体ではなく、行内で正規表現と一致する一連の文字を無視するときに使用します。

最初のタイプの行の正規表現と一致する行は、変更なしのテキスト用に設定したフォントと色で表示されます。ただし、ほかのファイルのテキストと関連付けしているリンク線は削除されず、ステータス バーに表示される変更カウントにも影響しません。対応する各テキスト ブロックの各行が行の正規表現と一致する場合は例外とします。この場合はリンク線も削除され、それに応じてステータス バーの変更カウントも更新されます。

正規表現の構文

Araxis Merge で使用する正規表現の構文は、UNIX オペレーティング システムの多くのアプリケーションで使用されるものと同じです。正規表現を使用して、テキスト内で文字のシーケンスを検索できます。正規表現は、文字どおりに一致する単純なテキストと、特定の意味を持つ特殊文字から成ります。

以下に正規表現の例を挙げます。詳細については、正規表現のリファレンスを参照してください。

単純一致

apple という語を含む行に一致させる場合

apple

apple という語のみを含む行に一致させる場合

^apple$

空白に一致

完全に空、または空白とタブ文字のみを含む行に一致させる場合

^[ \t]*$

説明:

C++ コメントに一致

C++ スタイルのコメント(// に続けて行の終わりまで任意の文字が並ぶ)のみを含む行に一致させる場合は、次の式が使用できます。

^[ \t]*//.*$

説明:

ソース コードの制御キーワードに一致

いくつかのバージョン管理製品では、テキスト ファイルに特殊なキーワードを挿入することができます。たとえば、Subversion では、$Date$ というテキストを展開して最終チェックインの日付と時刻を含めるようにします。異なるリビジョンのファイルを比較する場合、このようなキーワードを含む行はほとんどの場合一致しないので、無視することができます。C++ コメント行に出現する Date キーワードを無視する式は次のようになります。

^[ \t]*//.*\$Date:.*\$.*$

説明:

関連する式:

式の結合

式によっては、丸かっこ ()| 文字を使用して 1 つに結合できるものがあります。

(apple|^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:.*\$.*$)