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

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

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

スポンサーリンク



正規表現とは

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

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

行の先頭でマッチ

行の先頭が指定した文字に一致するものにマッチする。

  • 書式
    ^(サーカムフレックス)

  • ^a(aから始まる文字。apple、arrow、a123など)
  • 使い方
          $ echo "WoW" | sed 's/^W/h/g'
          hoW

行の末尾でマッチ

行の末尾が指定した文字に一致するものにマッチする。

  • 書式
    $(ダラー)

  • e$(eで終わる文字。apple、see、a123eなど)
  • 使い方
          $ echo "elle" | sed 's/e$/E/g'
          ellE

繰り返し部分にマッチ

直前の1文字が指定回数出現した部分にマッチする。\{n\}は、ちょうどn回。\{n,\}は、n回以上。\{n,m\}は、n〜mの任意の回数。

  • 書式
    \{n,m\}

  • 10\{2,3\}(1000か10000)
  • 使い方
          $ cat bbb.txt 
          word
          wood
          sky
    
          $ cat bbb.txt | sed 's/o\{2\}/-/'
          word
          w-d
          sky
    
          cat bbb.txt | sed 's/o\{1\}/-/'
          w-rd
          w-od
          sky
    
          $ cat bbb.txt | grep -e "o\{2\}"
          wood

特殊文字の機能を消失

特殊文字の機能を消失する。

  • 書式
    \(バックスラッシュ)

  • \( は、'(‘。良く用いられる例は、\( \) \{ \} \\。
  • 使い方
          $ echo "\"
          表示できない。
    
          $ echo "\\"
          \(\が表示できる)

前編を読む

スポンサーリンク



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

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