LogoMark.png

RegularExpression

正規表現

Regular Expression


正規表現(Regular Expression)とは、文字列中の「パターン」を表現する記述方法です。このパターン記述ができると、パターンに一致する複数の文字列を、シンプルに操作できるようになります。


正規表現の基本

正規表現によるパターンは「通常の文字(リテラル)」「メタ文字(特殊な役割を与えられた記号)」を組み合わせて記述します。

リテラル

abc、12345、日本語 ・・・ など通常の文字列


メタ文字

.   ^   $   [   ]   *   +   ?   {n,m}   |   (   )


正規表現の例




正規表現の事例

任意の1文字:.

行頭の文字列を指定:^

行末の文字列を指定:$

指定文字のいずれか:[ ]


直前の文字の0回以上の繰り返し: *

直前の文字がないか、直前の文字が1個以上連続する場合に合致

直前の文字の1回以上の繰り返し: +

上記 * と基本的に同じですが、少なくとも1個は + の直前の文字が必要。

直前の文字の0回か、1回の繰り返し: ?

直前の文字がないか1つだけあるという意味です。 これ結構使えます。

直前の文字の繰り返しの回数の指定( {n,m} )

論理和(または): |

サブパターン:()

カッコ内のパターンにマッチした文字列を後方参照

特殊な記号

エスケープシーケンスについて

正規表現においてメタ文字(特別な意味を持つ記号そのもの)を照合対象とする場合にどうするか・・。そのとき用いられるのがエスケープシーケンスと呼ばれる「\(バックスラッシュ)」を用いた記述です。

メタ文字の直前にバックスラッシュを配置することで、直後のメタ文字を通常の文字として認識させることができます。以下の例では、メタ文字 [ . ] の前にバックスラッシュを書いて [ \. ] と表記することで照合させています。


デリミタについて

デリミタ(Delimiter)とは、実際のプログラミング等において、パターンの範囲を明示すべくその両端を囲む半角文字記号のことです。デリミタには [ / , { }, #, @ ] など、様々な記号が用いられます。

デリミタの使い分け

例えば URL など、パターン内にメタ文字である [ /(スラッシュ)] 文字が出現するケースでは、デリミタには [ / ] ではなく、[ # ] などを使うのがよいでしょう。例えば、/images/sample.jpg は・・

APPEDIX

正規表現チェッカー

記述したパターンで、正しく対象を照合できるかチェックできます。

正規表現サンプル集




PAGES

GUIDE

DATA

Last-modified: 2020-02-29 (土) 17:21:05