正規表現のパターンをグループにまとめる
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
カッコ( ) を使って、数学と同じように、パターンをグループにまとめることが出来ます。
スポンサーリンク
例えば、
/fred+/ は、fredddd のような文字列にマッチしますが、
/(fred)+/ は、freddd にはマッチせず、fredfredfred のような文字列にマッチします。
つまり、(fred) をひとつのかたまりとして扱うようになるのです。
+ は、直前の表現を1回以上繰り返す。
※カッコ( ) によって記憶する
カッコ( ) は、グループ化を行うと共に、カッコで囲んだパターンがマッチした部分を、記憶させるという働きもある。
後方参照で、それまでに記憶した正規表現メモリの値を参照する。
\1 には、1番目の正規表現メモリ(つまり、文字列のうち、最初のカッコにマッチした部分)が入る。
/(.)\1/ は、まず任意の1文字(ドット文字)にマッチして、それをメモリ1に記憶する。
そして、\1により、メモリ1を参照して、メモリ1にマッチする。
言い換えると、任意の文字が1個あり、その後ろに同じ文字がもう1個続くものにマッチする。
例えば、bamm や beddy にマッチする。
/../ (ドット文字が二つ)のパターンとは別物であることに注意。
この場合、2つの文字は、同じものでも違うものでもかまわない。
スポンサーリンク
>> 次の記事 : マッチ変数(Perl)
<< 前の記事 : 正規表現の文字クラス
- - 関連記事 -
- preg_replace関数(PHP)
- preg_matche関数(PHP)
- preg_match_all関数(PHP)
- s///演算子・置換演算子(Perl)
- 自動マッチ変数(Perl)
- マッチ変数(Perl)
- 正規表現の文字クラス
- 正規表現のアンカー
スポンサーリンク