2020年05月18日
Emacs の正規表現置換でキャプチャした内容に関数を適用して置き換えたい
- 2020-05-18 (Mon)
- 一般 ソフトウェア ( Meadow/Emacs )
という需要があったのでぐぐってみたら,Emacs: regular expression replacing to change case とか Shiny and New: Emacs 22 で答えが見つかった.
置き換え文字中に \,(hoge \1) とかあると hoge を1つ目のキャプチャ(\1)に適用した結果に置き換わるらしい.より正確には,\, で後続のS式を評価できるらしい.なので \,(substitute ?_ ? (downcase \1)) とかすると,キャプチャした内容を小文字にしたうえで空白をアンダースコアで置き換えたものにできる.
超便利.だいぶ大昔からある機能のようだけど全然知らんかったのは残念.他にも連番を生成できる \# とかもあったりしてちゃんと勉強しとかんと時間を損するね.
- Comments: 0
- TrackBack (Close): -