[#1058] ruby 0.99.3-961119 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

19 messages 1996/11/19
[#1059] segm fault (Re ruby 0.99.3-961119 available) — sinara@... 1996/11/19

原です。

[ruby-list:1091] Re: [BUG?] REGEXP (Re ruby 0.99.3-961119 available)

From: matz@... (Yukihiro Matsumoto)
Date: 1996-11-25 15:30:11 UTC
List: ruby-list #1091
まつもと ゆきひろです

In message "[ruby-list:1089] Re: [BUG?] REGEXP (Re ruby 0.99.3-961119 available)"
    on 96/11/25, sinara@blade.nagaokaut.ac.jp <sinara@blade.nagaokaut.ac.jp> writes:
|
|原です。

|> ある時にはどうしても左側優先になると思います.でないと最後ま
|> で検索しないと一致しているかどうか判定できなくなりますので,
|> 一般的には効率が悪くなるでしょうから.
|
|確かに効率は悪くなるでしょうが、そちらの方が正しい(?)のでは
|ないでしょうか。/.|../ と書くと常に左側の . しかマッチしないわ
|けですよね。この例だと見て明らかなんですが、複雑なものを書いた
|時、たまにハマることがあるんですよね。正規表現が文字列を最後ま
|で検索しなければならない場合はどうせしばしばあるので、この際、
|効率より理屈を取るという手もあるかと思いますが。もっとも perl
|に合っているのもうれしいけれど。

正規表現かくあるべし,という話は言語理論の教科書を引っ張り出
して来ないとできないので(しかも例によって苦手),ちょっとパス
したいのですが,POSIXでは正規表現の動作がきちんと定義されて
いて,選択の動作が今までと異なっていると聞いているので,もし
かすると原さんの喜ぶことになっているかも知れません.

# でも,少なくとも当面はrubyの正規表現の挙動を変えるつもりは
# ないですけど.

|#今気がついたけど、"abc".gsub(/x?/){"(#$&)"} は 
|#"abc".gsub(/x?/, '(\&)') と書けないのですね。

???

"abc".gsub(/x?/, '(&)')

でないから?
                                まつもと ゆきひろ /:|)

In This Thread