検索で使用できる正規表現は、検索ボックスの右上にあるボタンで一覧できます。しかしこれですべてではなく、以下で示すメタ文字もサポートされます。
Expression Webの正規表現は、Visual Studioのそれと基本的に同一です。
メタ文字 | 説明 |
---|---|
. |
任意の印字文字1文字、または改行文字 (\n) を除く任意の非印字文字1文字と一致するワイルド カード。 たとえば、正規表現 |
* |
最長 … 正規表現の直前にある文字の0回以上の繰り返しのうち、最も長いものに一致する。
たとえば、正規表現 |
+ |
最長 … 正規表現の直前にある文字の1回以上の繰り返しのうち、最も長いものに一致する。
たとえば、 |
@ |
最短 … 正規表現の直前にある文字の0回以上の繰り返しのうち、最も短いものに一致する。
たとえば、正規表現 |
# |
最短 … 正規表現の直前にある文字の1回以上の繰り返しのうち、最も短いものに一致する。 たとえば、正規表現 |
[ ] |
角かっこ ([ ]) で囲まれた文字の中のいずれかと一致する。 次に例を示す。
|
^ |
行の先頭と一致する。
|
$ |
行の末尾と一致する。 たとえば、 |
^^ |
ファイルの先頭と一致する。ソース コードやテキスト ファイル内の文字列を検索する場合にのみ有効。 たとえば、ファイルの先頭にある最初のHTMLタグを検索するには、 |
$$ |
ファイルの末尾と一致する。ソース コードやテキスト ファイル内の文字列を検索する場合にのみ有効。 たとえば、ファイルの末尾にある最後のHTMLタグ (タグの後ろにスペースのないもの) を検索するには、 |
| |
2つの項目のいずれかを示す。つまり、OR記号 (|) の前または後の正規表現に一致する。 たとえば、 |
\ |
円記号 (\) ※1 の後ろの文字に一致するエスケープ文字。これにより左波かっこ ({) やカレット (^) など、正規表現の構文で使用される特殊文字も検索できる。 たとえば、 |
{} |
波かっこで囲まれた正規表現に一致する文字列にタグを付ける。検索の正規表現で、タグ付き文字列が出現している別の箇所を検索したり、置換の正規表現で、 たとえば、同じ単語が連続して2回出現するテキストを検索するとする。検索文字列には、 単語の間が単一の空白で区切られているものを検索する場合は、右波かっこ (}) と円記号 (\) の間に空白を入れる。 この例では、シャープ記号 (#) とピリオド (.)、および波かっこ ({}) を組み合わせて1つの構文を作成している。この正規表現で、 |
\N |
検索の正規表現で、N番目のタグ付き正規表現に一致する。たとえば、 置換の正規表現で、 たとえば、同じ単語が連続して2回出現するものを検索し、それを単一の単語で置換するとする。検索文字列には、 単語の間が単一の空白で区切られているものを検索する場合は、右波かっこ (}) と円記号 (\) の間に空白を入れる。この例ではシャープ記号 (#) とピリオド (.)、および波かっこ ({}) を組み合わせて1つの構文を作成している。 文字列を置換するには、
|
( ) |
サブ表現の先頭と末尾を表すグループ化正規表現。 サブ表現は、丸かっこ ( ) で囲まれた正規表現。たとえば、 この正規表現は haha や hahaha に一致する。 |
~x |
正規表現でこの位置に x が出現する場合、x は一致対象から除外される。 たとえば、 |
\n |
[コード]ビューでは復帰改行に一致する。また[デザイン]ビューでは <br> に一致する。
|
\t |
1 つのタブ文字に一致する。 たとえば、行頭に存在する1つのタブ文字をすべて検索するには、次の正規表現を使用する。
この例では、タブ (\t) にカレット (^) とプラス記号 (+) を組み合わせて1つの構文を作成している。単一のタブ文字の前にカレット (^) がある場合、行頭に存在するすべてのタブ文字に一致する。プラス記号 (+) は1つ以上のタブ文字に一致することを表す。 |
[^] |
カレット (^) の後ろにある一連の文字に含まれないすべての文字に一致する。 たとえば、特定の範囲を除くすべての文字を検索するには、角かっこ内の最初の文字としてカレット (^) を使用する。 |
n |
カレット (^) の直前にある正規表現のn回の繰り返しに一致する。 たとえば、n を4とした正規表現、 |
メタ文字 | マッチ文字 | 説明 |
---|---|---|
:b |
空白 |
コードまたは文字列内の空白類に一致する。 たとえば、行の先頭にある単一の空白類を検索するには、 |
:d |
数字 |
たとえば、テキスト ファイル内の社会保障番号を検索するとする。米国の社会保障番号は 999-99-9999 という形式で表される。この場合、
|
:z |
数字 |
この構文を使用すると、簡単な記述で0以上の任意の数字を検索できる。 |
:n |
数字 (小数点を含む) |
小数点を含むすべての数字を検索する場合は、 |
:h |
数字 (16進数) |
正規表現 この正規表現は、A ~ F までの英文字 (大文字と小文字を含む) および任意の数字から構成される16進数を検索する場合に使用する。 たとえば、Web サイトの複数のページに異なる色の背景を使用しているとする。これらのページの色を黒 (000000 など) に変更したいが、現在の色の16進数値がわからないような場合、次の正規表現を使用すると、既存の16進数値をすべて検索できる。
現在の16進数値を置換するには、使用したい背景色の16進数値を000000のように入力する。 |
:c |
英文字 |
|
:w |
英文字 |
この構文を使用すると、簡単な記述で1つ以上の英文字 (大文字と小文字を含む) を検索できる。 |
:a |
英文字と数字 |
|
:i |
識別子 |
コードを作成しているときに、プログラムのすべての識別子を検索する場合は、 |
:q |
引用符に囲まれた文字 |
引用符に囲まれたすべての文字列を検索する場合は、 |
分類 | 説明 | メタ文字 | |
---|---|---|---|
Expression Web | Perl | ||
量指定子 | 0回以上のくり返し (最短位置) | @ |
*? |
1回以上のくり返し (最短位置) | # |
+? |
|
位置 | ファイルの先頭 | ^^ |
なし |
ファイルの最後 | $$ |
なし | |
文字クラス | 対象外 | ~x |
(?!…) |
繰り返しの表現 | ^n |
{n} |
|
グループ化 | グループ化 (後方参照のため) | {} |
() |
用途 | 検索する文字列 | 置換後の文字列 |
---|---|---|
内部リンクの index.htmの検索 |
href="[-a-z/_.]*index\.(htm|html|php) |
なし |
タグの属性の削除 | <{[a-z]+}( [a-z]+="[^"]*")+ |
<\1 |
コードのコメントに スタイルを適用 |
//.* |
<span class="comment">\0</span> |
「:」が文字クラスの略記 (:b、:dなど) に用いられているため、「http://」のような文字がパターンに含まれていると「正規表現の文字列 'http://' は正しくありません。」としてエラーとなります。よって「http\://」のようにエスケープします。