解説
正規表現は文字列のパターンを表現する方法です。検索や置換で用いられて、複雑な条件で文字列に一致させることが可能です。正規表現では、メタ文字、メタキャラクターと呼ばれる記号を使い、文字を抽象化して出現パターンを記します。
この正規表現は、多くのプログラミング言語や、テキストエディタで利用できます。使用するプログラミング言語などの環境によって、微妙に仕様が違うので、使用前に確認が必要です。
今回は、その正規表現の中から、特定の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
