[#4766] Wiki — "Glen Stampoultzis" <trinexus@...>

21 messages 2000/09/04
[#4768] RE: Wiki — "NAKAMURA, Hiroshi" <nahi@...> 2000/09/04

Hi, Glen,

[#4783] Re: Wiki — Masatoshi SEKI <m_seki@...> 2000/09/04

[#4785] Re: Wiki — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/09/05

Howdy,

[#4883] Re-binding a block — Dave Thomas <Dave@...>

16 messages 2000/09/12

[#4930] Perl 6 rumblings -- RFC 225 (v1) Data: Superpositions — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/09/15

[#4936] Ruby Book Eng. translation editor's questions — Jon Babcock <jon@...>

20 messages 2000/09/16

[#5045] Proposal: Add constants to Math — Robert Feldt <feldt@...>

15 messages 2000/09/21

[#5077] Crazy idea? infix method calls — hal9000@...

This is a generalization of the "in" operator idea which I

17 messages 2000/09/22

[#5157] Compile Problem with 1.6.1 — Scott Billings <aerogems@...>

When I try to compile Ruby 1.6.1, I get the following error:

15 messages 2000/09/27

[ruby-talk:4740] Re: Possible regex bug?

From: "Conrad Schneiker" <schneiker@...>
Date: 2000-09-02 06:40:02 UTC
List: ruby-talk #4740
Hi,

"Dave Thomas" <Dave@thomases.com> wrote:
> hal9000@hypermetrics.com writes:
>
> > OK, I'm trying to match an optional comma followed by
> > one or more spaces...
> >
> > The sample program regx.rb leads me to believe that
> > this will work: /,? */
>
> Always be careful with patterns containing '*'. For example,
>
>    'caaaaaat'  =~ /a*/    # => 0
>    p $&                   # => ""
>
> /a*/ matched the string by matching exactly _zero_ 'a's at the start.
>
> > But: p "4.2, 3.1, 5.3".split(/,? */)
>
> Your pattern also matches a zero length string: 'no commas and no
> spaces'. This is why split isn't doing what you want.
>
> However, in your problem definition, you said you wanted an optional
> comma followed by _one_ or more spaces. That's a different beast:

I guess I didn't read the docs carefully enough. The reason I didn't mention
this was that I had presumed that Ruby's regular expressions were greedy by
default, unless you explicitly indicated otherwise, just as I thought Perl's
were. (I don't have my manuals and docs with me, so I haven't checked this,
and could be wrong about that too. However, if Ruby and Perl do differ in
this regard, is there a good reason for this?) I happen to know that Hal
uses vi, an ultra-primitive version of gvim, which is what I use. These both
do greedy matching, and this may have also biased our thinking, his
implicitly and mine explicitly.

Maybe others are off early for the long Labor Day weekend, but I'm surprised
that at least 1 or 2 others didn't respond before Dave did on something that
seems pretty basic. Perhaps a future FAQ warning in a "common
misconceptions" section would be useful.

Conrad



In This Thread