Emacsで正規表現を使って文字列検索
文字列検索や置換に正規表現は必要不可欠。とりあえず、正規表現の要素を調べてみました。なお、表中のXXXは任意の文字列を意味します。
意味 | 表記方法 |
---|---|
改行以外の文字一文字 | .(ドット) |
0回以上の繰り返し | |
1回以上の繰り返し | + |
0回、あるいは1回を意味する | ? |
指定した文字のどれかに一致 | [XXX] |
指定した文字のいずれにも一致しない | [^XXX] |
単語 | \w |
単語じゃない(空白とか) | \W |
他にもあるようだが、使ったことがなく理解できなかったので保留。
正規表現検索は、Ctrl-U→Ctrl-Sの順番で、Regexp I-search:がミニバッファに出る。ここに、正規表現を入力する。
上の表に基づいていくつかの例を試してみた。
表記 | 結果 |
---|---|
[0-9] | 数字に一致 |
[^0-9] | 数字じゃない文字列に一致 |
[a-zA-Z] | アルファベットの大文字小文字に一致 |
.*9 | 9より前の文字 |
.?0 | 任意の一文字と0 |
他にもいろいろあるが、基本的にはこんな感じか。あとは日々使って体で覚えていくしかないな。