プロパティー・シートのテキスト入力フィールドでは、DOS 式および正規表現を使用してパターンを指定できます。ジョブ・プロパティー・シートでは、正規表現は使用できますが DOS 式は使用できません。ほとんどのレポート・パック・プロパティー・シート (XRule は除く) では、正規表現は使用できませんが DOS 式は使用できます。本製品全体を通じて、Microsoft 社の .Net 2.0 の構文を使用する正規表現エンジンを 1 つ使用しています。

正規表現を使用するジョブ・プロパティー・シートの例のいくつかでは、Exclusion、Server、Domain、および XRule を使用します。

式を使えば、1 つのステートメント内で特定の要件に合う URL のグループを定義できます。例えば、DOS 式 *MyProduct*.htm を使うと、レポート・パックから除外する特定の製品のページを指定できます。

DOS 構文

* は、いずれかの文字または文字列を表します。例えば *a* は、名前に文字「a」を含むすべてのファイルを表します。

? は、いずれかの 1 文字を表します。例えば ??c は、文字「c」で終わる 3 文字の名前すべてになります。

正規表現構文

正規表現は接頭部を regexp: にします。これにより、スキャン・ジョブで正規表現とプレーン・テキストの項目を区別できます。正規表現に使用する構文は .Net 2.0 の構文に準じます。

次の表に、正規表現でサポートされている特殊文字およびコマンドのいくつかを示します。サポートされている構文のより完全なリストは、Microsoft 社が提供する .Net 2.0 正規表現エンジンの資料で確認できます。

1. 有効な正規表現構文およびコマンド
構文 説明
^ 文字列の先頭を一致させます。この構文は、文字列で ^ の前には文字がないと仮定しています。例えば、http://www.example.com/support/index.asp と http://support.example.com/index.asp?URL=http://www.example.com の 2 つの URL があるとします。式 ^http://www\.example\.com は、最初の URL とだけ一致し、2 番目の URL とは一致しません。
$ 文字列の最後を一致させます。
? P?: P の出現 (0 回または 1 回) の指定です。
* P*: 0 回または複数回の P の繰り返しです。
+ P*: 1 回または複数回の P の繰り返しです。
| P |Q: P または Q のいずれかです。
\ \X : ()?*+|\.[]^$ のいずれか 1 文字をエスケープします。エスケープなしで使用すると、特殊文字として解釈されます。
ピリオドはいずれかの 1 文字と一致します。
[ ] 大括弧内の文字の範囲 (c[a-o]t など)、または文字の中のいずれか 1 つ (c[aou]t など)。
( ) (ab|cd)?ef: 一連の正規表現をグループ化します。この例の場合、abef、cdef、および ef と一致します。
- 文字そのものではなく範囲を使用して一致する文字を表現するときは、ハイフン (-) 文字を使用して範囲内の最初の文字と最後の文字を分けます。各文字の値によって、範囲内の相対順序が決まります。
<operator1>&&

<operator2>

<operator1>and

<operator2>

論理 AND。
<operator1>||<operator2>

<operator1>or

<operator2>

論理 OR。
!<operator1>not

<operator2>

論理 NOT。右のオペランドが必要です。演算子の左に式があるときは、2 項演算子が先になければなりません。例えば、「A and not b」は正しく、「A not b」は間違いです。
"<string>" リテラル・ストリングを表します。コマンドを含むオペランドは、二重引用符で区切った文字列の中に配置します。例: "(Hello and Goodbye)"。バックスラッシュ付きのリテラル・ストリングは、二重引用符を前に付けます。

正規表現の例

.* 任意の文字の連続

.*\. . (ピリオド) で終わる任意の文字の連続

注: .*?{1,x} または w+ を使用して一致させ、一致したまわりのテキストを取得する正規表現を使用するときは十分注意してください。この正規表現は、文書内のすべての文字をテストして文字が式全体に一致するかどうかをチェックするため、スキャンにかなりの時間がかかる場合があります。

除外: 正規表現:.*\.watch.*fire.* は、http://www.watchoutforfiresinforest.com および http://www.watch.com/products/firestone/index.asp を除外します。