トップ 正規表現とは 基本のメタ文字 練習問題

特殊な指定をするメタ文字2

メタ文字のエスケープ


\○
意味:メタ文字のエスケープ ○を普通の文字として指定

 htmlでは、タグの表記に用いられている&や>はそのままでは表示できません。&や>と記述します。

 同様に、正規表現でも、メタ文字として使用されている「.」や、「*」、「[」を普通の文字として検索する場合、そのままでは指定できません。そのメタ文字の前に\(バックスラッシュ)を置く必要があります。

\.

こうすることにより、普通は指定できないメタ文字を指定することができます。このように、文字そのものを指定するために\をつけることを「メタ文字をエスケープする」といいます。

 しかしながら、メタ文字が多数ある文章をエスケープするのは面倒な作業です。たとえば以下のような例を考えてみましょう。

(2.4)*(3.21)*(1.82)=14.02128

 これは、よくプログラミングの際に用いられる様式で書いた数式です。プログラミング言語では、かけ算の×記号は*と記述されます。この数式の中には、 (、)、.、*というメタ文字が使用されています。これを\でエスケープしてきちんと表示するには、

\(2\.4\)\*\(3\.21\)\*\(1\.82\)=14\.02128

このように書かなくてはなりません。非常に読みにくく、\を書いているときに間違いかねません。そこで、一部の正規表現には範囲内の文字列をそのまま指定させる「引用記号」という機能があります。

\Q~\E
意味:引用記号 範囲内の文字列をそのまま指定

これを使用すると、メタ文字に一つ一つに\をつけるより、はるかに見やすく、また書き間違いも少なくなります。

\Q(2.4)*(3.21)*(1.82)=14.02128\E

[ -~]+
意味:数式の取り出し

上記のように指定すると、対象文字列の中の数式のみを取り出すことができます。引用記号との違いは、引用記号の場合は指定した数式しか取り出すことができませんが、この構文を使用すると、検索対象文字列内にあるすべての数式を一度に取り出せます。

最初の”[”のすぐ後ろに半角スペースがあることに注意してください。

ページの一番上へ トップへ戻る