解説
正規表現は文字列のパターンを表現する方法です。検索や置換で用いられて、複雑な条件で文字列に一致させることが可能です。正規表現では、メタ文字、メタキャラクターと呼ばれる記号を使い、文字を抽象化して出現パターンを記します。
この正規表現は、多くのプログラミング言語や、テキストエディタで利用できます。使用するプログラミング言語などの環境によって、微妙に仕様が違うので、使用前に確認が必要です。
今回は、その正規表現の中から、特定の1文字にマッチさせる方法を紹介します。実際には、もう少しメタ文字は多いのですが、普段使用しないようなものは除外しています。
この1文字を表すメタ文字の多くは、「\」(Windowsでは、半角の円記号。その他のOSでは、半角のバックスラッシュ)とアルファベットで構成されています。
メタ文字 | 意味 |
---|---|
. | ピリオド。改行以外の任意の1文字 |
\d | 数字にマッチ |
\D | 数字以外にマッチ |
\w | 英数字と「_」にマッチ |
\W | 英数字と「_」以外にマッチ |
\s | ホワイトスペースにマッチ |
\S | ホワイトスペース以外にマッチ |
\n | 改行にマッチ |
\r | 復帰にマッチ |
\t | タブにマッチ |
- ホワイトスペース:スペース、タブ、改ページ、改行のこと。
- 改行と復帰:文字体系によっては見た目の改行が、改行と復帰の2文字で表現される。
また、メタ文字に使われる記号を、文字列のマッチに使用したい場合は、その記号の前に\」(Windowsでは、半角の円記号。その他のOSでは、半角のバックスラッシュ)と書いて、エスケープします。
このエスケープは、「\.」のように書きます。「\」の場合は「\\」と2回重ねることになります。
サンプル
正規表現で「任意の1文字」にマッチさせるコードを、JavaScriptで簡単に書いてみます。
<html> <head> <title>「任意の1文字」のサンプル</title> </head> <body> <pre><script type="text/javascript"> // 数字を「X」に置換 var strTel = "012-345-6789"; strTel = strTel.replace(/\d/g, "X"); // 「/\d/g」で、 // 「\d」数字を // 「g」すべて // という意味 document.writeln("strTel : " + strTel); // Windowsのパスの「\」を「/」に置換 var strPath = "C:\\Program Files (x86)\\CroCro"; strPath = strPath.replace(/\\/g, "/"); // 「/\\/g」で、 // 「\」を // 「g」すべて // という意味 document.writeln("strPath : " + strPath); </script></pre> </body> </html>
strTel : XXX-XXX-XXXX strPath : C:/Program Files (x86)/CroCro