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

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!!!
とにかく早く問題解決したい人はこちら>>直接、論文相談

関連記事

正規表現 メタキャラクタ 検索・置換 後編
awk 行の表示 先頭行 最終行 指定行
awk 置換や部分文字列などの文字列処理 gsub sub match index split 等
awk 複数行の処理
awk split | サンプルでわかる列の分割とセパレータ指定方法
awk while・do 繰り返し処理
awk for | サンプルでわかる、基本的な繰返し・変則的な繰返し
awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法
awk 配列 使い方
awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法
awk パターンとアクション
awk 区切り文字とフィールド
awk コマンドラインでの実行とスクリプトファイルでの実行
awk 使い方 フィールド取り出し スクリプトの書き方
sed スペース 空白文字の整理・空白行の削除
SED 便利な使い方 ファイル読み込み・ファイル書き出し
sed コマンド 行指定の置換・削除(アドレッシング)
sed コマンド 削除(行番号とパターン)
sed コマンド 置換(全体と部分指定)
sed コマンド 置換・削除・アドレッシングまとめ
sed コマンド スクリプトファイルの実行 スクリプトの書き方
sed コマンド 単純な置換



カテゴリー

今週よく読まれている記事

  1. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. R言語

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  3. Excel, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…

おすすめ記事

  1. シェルスクリプト

    シェルスクリプト | ファイル存在チェック・空ファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. awk, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…