/memo/

Pythonのregexprの移植を大体終了…と。あと、ささやかにマルチバイト対応。

re.match("あ+b","ああb");  // マッチする

これだけなんだけど。正規表現のマルチバイト対応のしかたはわかるんだけど、どういう表記にしたら使いやすいかがわからないんだよねぇ。
ぱっと思い付くのが、

[あ-ん]

こういうのなんだけど、これだと、ひらがなはいいとして、漢字にしたときも文字コード順を覚えとかないといけなくなるような。で、

[:printm:]   // 印字できる文字(マルチバイト含む)とマッチ

これだと、各種演算子とか、記号とかも混ざっちゃうので、厳しい。かといって、:kanji:とか作っちゃうのも問題だしなぁ…
やりたいことは、識別子文字([_a-zA-Z0-9])と漢字を混ぜれるようにしたいっていうだけなんだけど。ああ、そうか、どうせ、それにしか使わないんだから、そういう文字クラス作っちゃえばいいのか。[:multiident:]みたいな。


まあ細かいのはいいか。とりあえず、実装方法は見えた。いや、簡単じゃない。今調べたらPython正規表現は多分[:hogehoge:]をサポートしてない…むむむ…


TODO: 読み込みストリームと字句解析と正規表現の完成。