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・・・改ページ