時々、次のような値のすべてのインスタンスを置き換えたいと思います。
<BarFoo>
と
<barfoo>
つまり、山かっこ内のすべてのものを同等の小文字に正規表現で置き換えます。
誰かがこれを行うLISPの素敵なスニペットを手に入れましたか? ASCIIの値だけを扱っていると考えるのは安全です。完全な正規表現をとるのに十分な汎用性があり、山括弧の例だけを処理するのではないものにはボーナスポイントがあります。 M-x query-replace-regexp
を使用するだけの回答へのボーナスポイントが増えます。
ありがとう、
ドム
検索文字列として"<\([^>]+\)>"
を、置換として"<\,(downcase \1)>"
を使用してM-x query-replace-regexp
を試してください。
これはEmacs22以降で機能するはずです。置換文字列でLISP式を使用する方法の詳細については、これを参照してください Steve Yeggeブログ投稿 。
以前のバージョンのEmacsでは、次のようなものを試すことができます。
(defun tags-to-lower-case ()
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "<[^>]+>" nil t)
(replace-match (downcase (match-string 0)) t))))