[[授業資料/正規表現]]

*タグつき正規表現とは [#pe546785]
-一度正規表現にマッチした部分を後で再利用することができます。
-特に置換において威力を発揮します。

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

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

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


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

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


***例:送りがなの揺れを統一する [#acb7daf2]
-検索語:行な?([わいうえおっ])
-置換する語:行\1 (「行う」に統一)
--または  :行な\1 (「行なう」に統一)

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

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


***複雑な例:タグ付き正規表現でKWICを修正する(1行に2個以上ある場合) [#m14f1962]
(''RE''とある箇所を検索に使った正規表現に置き換えて使用)
-(^[^,]*,[^,]*,[^,]*,)(.*)(,''RE'',)([^,]*)(,''RE'',.*)$
--(^.*?,.*?,.*?,)(.*)(,''RE'',)(.*?)(,''RE'',.*)$
-\1\2\3\4\n\1\4\5

→[[grepと置換でKWICを作る・1行に複数出てきた場合の対処>../grepと置換でKWICを作る#de00e0b3]]参照

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