レガシー データ識別子のパターン言語の仕様
レガシー データ識別子のパターンを定義するときは、3 種類のトークンを使用できます。トークンはファイルの冒頭にある空白文字を含まないシーケンス、あるいは 1 つ以上の空白文字が前についたシーケンスで、空白文字が後につくかファイルの末尾にあるものです。レガシー データ識別子のパターンで使われる 3 種類のトークンを以下に示します。
- 文字リテラル
- 角カッコ表現
- 特殊文字
省略可能な量指定子によって各トークンに続けることができます。
「量指定子」を参照してください。
データ識別子のパターンは、完全なトークンまたはトークンのセットにのみ一致します。
DLP 15.8 エンドポイントに対してのみ、レガシー データ識別子パターンを使います。それ以降のバージョンの DLP では、標準の PCRE 構文を使って正規表現を定義する必要があります。
正規表現のサポートには、いくつかの制限事項があります。詳細については、「データ識別子での PCRE 正規表現サポートの制限事項」を参照してください。
リテラル文字、メタ文字および特殊文字
ほとんどの文字は、レガシー データ識別子のパターン言語においてリテラル一致です。たとえば、レガシー データ識別子のパターンにおける文字
a
は、ユーザーのコンテンツにおいて文字 a
に一致します。レガシー データ識別子のパターン言語には 4 つのメタ文字が含まれています。文字リテラルとしてこれらのメタ文字を一致させるには、円記号を使ってユーザーのレガシー データ識別子のパターンでこれらの文字をエスケープしてください。これらのメタ文字の説明については「メタ文字」を参照してください。文字 | 説明 |
|---|---|
[ | この文字は角カッコ表現の開始に使われます。 |
{ | この文字は先行するトークンの数量化に使われます。 |
? | この文字は先行するトークンの数量化に使われます。 |
\ | この文字は後続する文字のエスケープに使われます。 |
レガシー データ識別子のパターン言語には 5 つの事前定義済みの特殊文字が含まれています。これらのメタ文字の説明については「特殊文字」を参照してください。
文字 | 説明 |
|---|---|
\l | この特殊文字はすべての ASCII 文字に一致します。 |
\L | この特殊文字は Unicode 文字を含むすべての非 ASCII 文字に一致します。 |
\d | この特殊文字はすべての ASCII 数字に一致します。 |
\D | この特殊文字は Unicode 文字を含むすべての非 ASCII 数字に一致します。 |
\w | この特殊文字は \l または \d で一致しない Unicode 文字を含むすべての文字に一致します。 |
角カッコ表現
角かっこ表現は
[
から始まり ]
で終了し、表現の本文に少なくとも 1 文字を含みます。たとえば、角カッコ表現 [abcd]
は、文字「a」、「b」、「c」または「d」のいずれかに一致します。2 つの文字をハイフン
-
で区切ることによって、角カッコ表現内に文字の範囲を含めることができます。たとえば、角カッコ表現 [a-z]
は、小文字の「a」から「z」までに一致します。-
で区切られるすべての 2 文字は、範囲として解釈されます。範囲の相対的な順序は重要ではありません。[a-z]
と [z-a]
は同じ文字列に一致します。次のルールに従い、角カッコ表現に文字「]」および「-」を含めることができます。
- 「]」文字は、角カッコ表現の最初の文字にする必要があります。たとえば、[]a-z]は文字「]」または「a」から「z」の間のすべての小文字に一致します。
- 文字「-」は、角カッコ表現の最初または最後の文字にする必要があります。角カッコ表現に「]」および「-」の両方の文字を含める場合、「]」は最初の文字に、「-」は最後の文字にする必要があります。たとえば、[]-]は「]」または「-」に一致します。
解釈の順序
データ識別子のパターンは、左から右に解釈されます。たとえば、角カッコ表現
[a-d-z]
は、範囲 a-d
として解釈された後、リテラル -
および z
として解釈されます。量指定子
量指定子によってレガシー データ識別子のパターンにおけるすべてのトークンに従うことができます。量指定子は一致するパターンの発生数を指定するものです。レガシー データ識別子のパターン言語で利用可能な量指定子の説明については、「量指定子」を参照してください。
量指定子 | 説明 |
|---|---|
? | この量指定子は、表現が一致する先行トークンの発生数がゼロまたは 1 となるように指定します。 |
{ n } | この量指定子は、表現が一致する先行トークンの発生数が厳密に n となるように指定します。 |
{ n , m } | この量指定子は、表現が一致する先行トークンの発生数が n から m となるように指定します (包含)。 |