パターン

パターンを使用すると、テキストを表現することができます。たとえば、テキスト "32" は、2 桁を含むテキストとして記述することができます。しかし、その他のテキストも "12" や "00" などの 2 桁の数字を含みます。これらのテキストはパターンに一致すると言うことができます。(Design Studio のパターンは Perl5 の文法に従います。)

パターンは、通常の文字と特殊記号で構成されています。特殊記号にはそれぞれ特別な意味があります。たとえば、特殊記号 "."(ドット) は、任意の 1 文字を意味し、"a"、"b"、"1"、"2" など、単一のすべての文字に一致します。

特殊記号

パターン内では、次の特殊記号を使用することができます。

特殊記号 説明

.

任意の 1 文字 ( "a"、"1"、"/"、"?"、"." など)。

\d

任意の 10 進数の数字 ( "0"、"1" ... "9" など)。

\D

10 進数の数字以外の任意の文字 ( "0"、"1" ... "9" を除外した "." と同じ)。

\s

任意の空白文字 ( " "、タブ、リターンなど)。

\S

任意の非空白文字 ( " "、タブ、リターンなどを除外した "." と同じ)。

\w

任意の英数字 ("a" ... "z"、"A" ... "Z"、"0"..."9")。

\W

英数字以外の任意の文字 ("a" ... "z"、"A" ... "Z"、"0" ... "9" を除外した "." と同じ)。

\n

改行文字。

\r

キャリッジ リターン文字。

\t

タブ文字。

[abc]

a、b、c の中の任意の文字。

[^abc]

a、b、c 以外の任意の文字。

[a-z]

a から z までの範囲の任意の文字。

a|b

サブパターン a が一致するすべて、またはサブパターン b が一致するすべてに一致します。

"." または "\" のような特殊文字を通常の文字として機能させたい場合は、その前に "\" (バックスラッシュ) を付けてエスケープさせることができます。このため、単一の任意の文字ではなく、実際の "." 文字と一致させたい場合は、"\." と表記する必要があります。

以下の括弧を使って、パターンをサブパターンに整理できます。"(" および ")" 。パターン "abc" は "(a)(bc)" として整理できます。サブパターンは、パターン演算子を適用するときに便利です。

反復演算子

以下の演算子記号は、前の文字、記号、サブパターンを反復します。

特殊記号 説明

{m}

先行するサブパターンの m 回の繰り返しと正確に一致。

{m,n}

先行するサブパターンの m ~ n 回 (両端を含む) の繰り返しに一致。できる限り多くのサブパターンに一致します。

{m,n}?

先行するサブパターンの m ~ n 回 (両端を含む) の繰り返しに一致。できる限り少ないサブパターンに一致します。

{m,}

先行するサブパターンの m 回以上の繰り返しと正確に一致。できる限り多くのサブパターンに一致します。

{m,}?

先行するサブパターンの m 回以上の繰り返しと正確に一致。できる限り少ないサブパターンに一致します。

?

前のサブパターンか空テキスト。{0,1} の簡略記法です。

*

前のサブパターンの繰り返し回数、または空のテキストに一致。{0,} の簡略記法です。できる限り多くのサブパターンに一致します。

*?

前のサブパターンの繰り返し回数、または空のテキストに一致。{0,}? の簡略記法です。できる限り少ないサブパターンに一致します。

+

先行するサブパターンの 1 つ以上の繰り返しに一致。{1,} の簡略記法です。できる限り多くのサブパターンに一致します。

+?

先行するサブパターンの 1 つ以上の繰り返しに一致。{1,}? の簡略記法です。できる限り少ないサブパターンに一致します。

これらの演算子は、前の文字、記号、サブパターンを反復します。

グループ化に関する詳細

"(" と ")" がサブパターンを新しいサブパターンにグループ化できるのを確認してきました。しかし、これは別の目的に使用できます。エクスプレッションの中でこれらのグループを使用できるのです。エクスプレッションで使用できないグループ化を行うには、"(?:" を使用することができます。

\n を使用すると、パターンの中の他のグループを参照できます。ここでの n はグループの番号です。