授業資料/正規表現

タグつき正規表現とは

  • 一度正規表現にマッチした部分を後で再利用することができます。
  • 特に置換において威力を発揮します。

使い方

  1. グループ化の「()」を使って、正規表現の中の再利用する部分を囲みます。
  2. 1.で囲んだ部分を「\1」で参照します。

例:動詞「読む」と思われるものを〔〕で囲む。

  • 検索語:(読[まみむめもん])
  • 置換する語:〔\1〕

例:携帯電話の番号と思われるものを【】で囲む。

  • 検索語:(0[89][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9])
  • 置換する語:【\1】

例:送りがなの揺れを統一する

  • 検索語:行な?([わいうえおっ])
  • 置換する語:行\1 (「行う」に統一)
    • または  :行な\1 (「行なう」に統一)

やや複雑な例:青空文庫形式の漢字についた振り仮名をひらく(振り仮名を本文にする)

  • 検索語:|?([亜-熙々]+)《([^》]+)》
    • またはものぐさ指定で:|?([亜-熙々]+)《(.+?)》
  • 置換する語:\2
    (漢字だけにするなら\1)

複雑な例:タグ付き正規表現でKWICを修正する(1行に2個以上ある場合)

(REとある箇所を検索に使った正規表現に置き換えて使用)

  • (^[^,]*,[^,]*,[^,]*,)(.*)(,RE,)([^,]*)(,RE,.*)$
    • (^.*?,.*?,.*?,)(.*)(,RE,)(.*?)(,RE,.*)$
  • \1\2\3\4\n\1\4\5

grepと置換でKWICを作る・1行に複数出てきた場合の対処参照


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS