正規表現のパターンをグループにまとめる

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

カッコ( ) を使って、数学と同じように、パターンをグループにまとめることが出来ます。

スポンサーリンク

例えば、

/fred+/ は、fredddd のような文字列にマッチしますが、

/(fred)+/ は、freddd にはマッチせず、fredfredfred のような文字列にマッチします。
つまり、(fred) をひとつのかたまりとして扱うようになるのです。

+ は、直前の表現を1回以上繰り返す。

※カッコ( ) によって記憶する
カッコ( ) は、グループ化を行うと共に、カッコで囲んだパターンがマッチした部分を、記憶させるという働きもある。

後方参照で、それまでに記憶した正規表現メモリの値を参照する。
\1 には、1番目の正規表現メモリ(つまり、文字列のうち、最初のカッコにマッチした部分)が入る。

/(.)\1/ は、まず任意の1文字(ドット文字)にマッチして、それをメモリ1に記憶する。
そして、\1により、メモリ1を参照して、メモリ1にマッチする。

言い換えると、任意の文字が1個あり、その後ろに同じ文字がもう1個続くものにマッチする。

例えば、bamm や beddy にマッチする。

/../ (ドット文字が二つ)のパターンとは別物であることに注意。
この場合、2つの文字は、同じものでも違うものでもかまわない。

スポンサーリンク
 
スポンサーリンク