正規表現 メタキャラクタ 検索・置換 前編

バイオインフォ道場、くまぞうです。

sed や awk、grep、その他のプログラム処理で文字列を扱うときに、よく用いられる「正規表現」についてまとめます。前編です。(後編を読む

スポンサーリンク



正規表現とは

正規表現とは、文字列集合を特殊文字(メタキャラクタ)で表現する方法です。メタキャラクタには、$(ダラー)や^(サーカムフレックス)、[](ブラケット)などが良く使われます。例えば、[0-9]は0〜9の数字のどれか、[Ww]ordはWordもしくはwordです。使うプログラムによって、正規表現の詳細は異なる場合がります。共通して使える基本的なものを中心に覚えると良いと思います。

基本的な正規表現メタキャラクタ1

任意の1文字にマッチ

  • 書式
    .(ピリオド)

  • wo.d(word, wood など)
  • 使い方
          $ cat bbb.txt 
          word
          wood
          sky
    
          $ grep -e "wo.d" bbb.txt 
          word
          wood

直前の1文字を任意回数繰り返し(0回を含む)にマッチ

  • 書式
    *(アスタリスク)

  • w*(w, www, wwwwwwwwww, worldなど)
  • 使い方
          $ cat bbb.txt 
          word
          wood
          sky
    
          $ grep -e "wo.d" bbb.txt 
          word
          wood
    
          $ grep -e "sk" bbb.txt 
          sky

どれか1個にマッチ

ブラケットに囲まれた文字のうち、どれか1個にマッチする。1文字目に、サーカムフレックス(^)を置くと意味が反対になる。ハイフン(-)を使うと文字の範囲を意味する。

  • 書式
    […](ブラケットで文字を囲む)

  • [123](1か2か3)、[1-3](1〜3)、[^123](1-3以外の1つの数字)
  • 使い方
          $ echo "Word" | sed 's/[^Ww]/!/g'
          W!!!

後編を読む

スポンサーリンク



One thought to “正規表現 メタキャラクタ 検索・置換 前編”

コメントは受け付けていません。