From: Koretsugu Daigoro Date: 1999-11-02T18:05:46+09:00 Subject: [ruby-dev:8208] Re: [ruby-list:18245] これつぐです。 [ruby-list:18245] > まつもと ゆきひろです > |あれ、そもそも、 > | > | "a".scan(/(a|)$/) do |x| > | p x #=> ["a"], [""] > | end > | > |となる scan がまずいのかもしれない。これをバグとすれば、 > |もとのテキストは正しい、、、こっちに一票。(^^; > > うーむ、しかし、最初のscanで a にマッチして、カーソル(とでも > 呼ぶべきものが a の後ろに行き、空パターンにマッチするのは、 > ある意味自然だと思います。 > > そうでないとすると、どうするのが良いですかね。 > # 深い話は ruby-dev へ。 深いかどうか? 一応 ruby-dev に持ってきます。 最初の scan で a$ にマッチしてカーソルが $ のうしろ(ってどこ?)に行き、 そこで scan 終了というのが私の感覚です。 というわけで私も変だと感じます。 で、 どうすればいいかというと、 正規表現の内部がどうなっているのか知らないのですが、 末尾の後ろという謎の概念を作るしかないのでは……?