[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
正規表現 \b の動作
- X-ml-count: 5032
- Subject: 正規表現 \b の動作
- From: NAKAZONO Katsuhisa <nakazonok@xxxxxxxxxxxxx>
- Date: Tue, 13 Jan 2004 19:26:07 +0900
- User-agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) LIMIT/1.14.8 (Hajinosato) APEL/10.6 Emacs/21.1 (i386-mingw-windows98.2222) MULE/5.0 (SAKAKI) Meadow/2.00 Beta2-dev (WOMINAHESHI)
中園と申します。
Elisp などロクに書いたことはないのですが、触っていたら
次のことに気付きました。以下は string-match を評価した
結果です。
(string-match "\\b23\\b" "1 23 4")
2
(string-match "\\b_23_\\b" "1 _23_ 4")
nil
私的には後者も 2 が返ってくるものだと思っていました。
試しに Perl だと、
bash-2.05b$ perl -e 'print "$&\n" if "1 _23_ 4" =~ /\b_23_\b/;'
_23_
となり、こちらは私の想像どおりの動きです。
どちらの動きが相応しいかはさて置き、これってもしかして
Emacs では有名な仕様なのでしょうか?
少し実験した感じでは、'_' でなくても区切り境界として認識
される文字であれば同様の結果になるような気がします。
; Gnus で振り分けがうまくいかなかった理由がやっと分かった・・・
--
中園克久 <nakazonok@xxxxxxxxxxxxx>