John W. Krahn wrote at Mon, 15 Jul 2002 15:16:38 +0200:

> Janek Schleicher wrote:
>> 
>> John W. Krahn wrote at Sun, 14 Jul 2002 13:45:19 +0200:
>> >
>> > my @tokens = split /({\\[^\s}{]+|\\[^\s\\}]+|\\[\\}]|})/, $line;
>> >                       ^^         ^^          ^^
>> 
>> Perhaps we can simplify even this regex:
>> 
>> my @tokens = split / ( \\ (?: [^\s{}]+  |
>                         ^
>                         {
> 
> You are missing the leading brace.  Look at the pattern a little more carefully.
> 

Now I know,
why I wrote "Perhaps" :-(

Again, perhaps, there's still a way to simplify ...

my @tokens = split / (  { \\ [^\s{}]+  
                       | (?: \\ [^\s\\}]+ |
                                [\\}])
                       | }
                     )/x
             => $line;

or with a look a head trick:

my @tokens = split / (?=[\\{}])
                     (  { \\ [^\s{}]+  
                       | (?: \\ [^\s\\}]+ |
                                [\\}])
                       | }
                     )/x
             => $line;


Cheerio,
Janek


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to