.netの正規表現
2007/10/25
「\d」を使うと,[0-9]に比べて,ほんの少しですが簡潔な表現ができます。ただし,VB 2005では\dがいわゆる全角の数字にもマッチしてしまうので注意が必要です(図6)。半角数字に限定したいときは,VB 2005では[0-9]を使います。
第7回 VBでも正規表現!
\d が全角の数字にもマッチしてしまうなんて信じられない。驚き最大の法則です。
「詳説 正規表現」で、.net の正規表現はなかなかの対応状況である、と読んだ気がしたのですが。。。
設計者は、親切のつもりだったんだろうか。キモい仕様です。
追記
もうすこし検索してみたら、アラビア数字にもヒットするらしいです。
٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩←これらにマッチ
アラビア数字にもヒットしてしまうので、”[0-9]”と書く必要があります。
正規表現によるパターン・マッチ
UnicodeCategory 列挙体のDecimalDigitNumberにヒットする物ということのようです。