授業資料/正規表現
タグつき正規表現とは†
- 一度正規表現にマッチした部分を後で再利用することができます。
- 特に置換において威力を発揮します。
使い方†
- グループ化の「()」を使って、正規表現の中の再利用する部分を囲みます。
- 1.で囲んだ部分を「$1」(「\1」でもOk)で参照します。
例:動詞「読む」と思われるものを〔〕で囲む。†
- 検索語:(読[まみむめもん])
- 置換する語:〔$1〕
例:携帯電話の番号と思われるものを【】で囲む。†
- 検索語:(0[89][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9])
- 置換する語:【$1】
やや複雑な例:青空文庫形式の振り仮名をひらく(振り仮名を本文にする)†
- 検索語:|?([亜-熙]+)《([^》]+)》
- 置換する語:$2
(漢字だけにするなら$1)
複雑な例:タグ付き正規表現でKWICを修正する(1行に2個以上ある場合)†
(REとある箇所を検索に使った正規表現に置き換えて使用)
- (^[^,]*,[^,]*,[^,]*,)(.*)(,RE,)([^,]*)(,RE,.*)$
- $1$2$3$4\n$1$4$5
→grepと置換でKWICを作る・1行に複数出てきた場合の対処参照