1.メタ文字の使い方
メタ文字は以下の文字
. 、 ^ 、 $ 、 [ 、 ] 、* 、+ 、? 、|、( 、)
1.1 そのメタ文字自体が意味する
.・・・何でもよい一文字
1.2 直前の1文字に対して作用する
*・・・0回以上の繰り返し
+・・・1回以上の繰り返し = {1, }
?・・・0回または1回の繰り返し
{n}・・・n回の繰り返し
{n,}・・・n回以上の繰り返し
{n,m}・・・n回以上m回以下の繰り返し
1.3 直前の複数文字に対して作用させるには
( )・・・グループ化
例:(abc)?・・・abcが0回または1回の繰り返し
1.4 後ろ全ての文字に対して作用する
^・・・行頭(改行のあとの行頭を含む)
1.5 前にある全ての文字に対して作用する
$・・・行末(改行前の行末を含む)
1.6 作用範囲を限定するもの
( )・・・グループ化
[ ]・・・いずれか一文字→反意語→[ ^ ]
1.7 後方参照
すでにマッチしたテキストにマッチ
\1,\2,\3・・・・
例:A (\w+) is \1
○A promise is promise
○A bargain is bargain
×A liar is worse
入れ子の場合は開きカッコが現れる順に後方参照
( ( .* ) / ) ? ( .*? ) (\. (.+) )?
↑ ↑ ↑ ↑ ↑
\1 \2 \3 \4 \5
1.8エスケープ
上記のようなメタ文字自体をパターンマッチングさせる場合は\を使う
1.9その他のメタ文字
\s・・・空白スペース(タブ、改行[LF]、復帰[CR]、改ページ[FF]を含む。\t\n\r\fと同じ)
\S・・・空白スペース以外
\d・・・数字
\D・・・数字以外
\w・・・単語を構成する文字。アルファベット、数字、アンダースコア。[a-zA-Z0-9_]と同じ。
\W・・・単語以外
\n・・・改行
\r・・・キャリッジリターン
\t・・・タブ
\f・・・改ページ