[#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:4844] Re: Possible regex bug?

From: Conrad Schneiker <schneik@...>
Date: 2000-09-11 10:35:25 UTC
List: ruby-talk #4844
Hi,

Dave Thomas wrote:
> 
> ts <decoux@moulon.inra.fr> writes:
> 
> > >>>>> "D" == Dave Thomas <Dave@thomases.com> writes:
> >
> > D> However... The point of my original post was not to say that there are
> > D> no differences between Perl and Ruby regexps, but to say that the
> > D> behavior of String.split was consistent with Perl's when given a
> > D> pattern that matched a zero length string. That seemed to be Conrad's
> > D> concern.
> >
> >  Yes but perl and ruby don't have the same notion of zero-length match
> 
> d'accord. That's true, but kind of orthogonal to the point that Conrad
> raised.
> 
> Perhaps we need a FAQ entry about zero length matches?

Well, speaking for Conrad, he raised at least 3 points/concerns, so you
are both somewhat correct.

However, the important point to remember with respect to Hal's original
question is that "greedy" is only relative to the initial pattern
cursor, which will not be advanced when a zero-length match is
possible--even in Perl (-: 

#!/usr/bin/env perl
$x = "4.2, 3.1, 5.3";
while (scalar $x) {
    $x =~ m/,? */;
    # Show initial string, prematch, match, postmatch.
    printf "%15s => %3s %5s %15s\n", "($x)", "($`)", "($&)", "($')";
    $x =~ s/^.//; 
}

(4.2, 3.1, 5.3) =>  ()    () (4.2, 3.1, 5.3)
 (.2, 3.1, 5.3) =>  ()    ()  (.2, 3.1, 5.3)
  (2, 3.1, 5.3) =>  ()    ()   (2, 3.1, 5.3)
   (, 3.1, 5.3) =>  ()  (, )      (3.1, 5.3)
    ( 3.1, 5.3) =>  ()   ( )      (3.1, 5.3)
     (3.1, 5.3) =>  ()    ()      (3.1, 5.3)
      (.1, 5.3) =>  ()    ()       (.1, 5.3)
       (1, 5.3) =>  ()    ()        (1, 5.3)
        (, 5.3) =>  ()  (, )           (5.3)
         ( 5.3) =>  ()   ( )           (5.3)
          (5.3) =>  ()    ()           (5.3)
           (.3) =>  ()    ()            (.3)
            (3) =>  ()    ()             (3)

-- 
Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)

In This Thread

Prev Next