Phoenix.pm: Regex question

Anthony Nemmer edelweiss at qwest.net
Mon Feb 5 14:30:42 CST 2001


Jesus, Doug.  =)

At 01:07 PM 2/5/01 -0700, you wrote:
>tcpeter at mindspring.com wrote:
>> 
>> On Fri, 2 Feb 2001, Doug Miles wrote:
>> 
>> > This is probably something obvious,
>> 
>> I don't think so...
>> 
>> > but I don't have my regex book with
>> > me, and can't seem to figure it out.  I'm trying to parse space
>> > delimited information, somewhat like the UNIX command line.  Whitespace
>> > delimits parameters, but parameters can containg whitespace if
>> > surrounded by quotes.  Here's the code:
>> >
>> > #!/usr/bin/perl
>> >
>> > my $string = qq(DailyNAV "Class C" nav);
>> >
>> > my @tokens = $string =~ /(\S+)/g;
>> > my @tokens = $string =~ /"([^"]+)"/g;
>> 
>> > my @tokens = $string =~ /"([^"]+)"|(\S+)/g;
>> > print join('|', @tokens) . "\n";
>> >
>> > here is the output:
>> >
>> > DailyNAV|"Class|C"|nav
>> > Class C
>> > |DailyNAV|Class C|||nav
>> 
>> Doug,
>> I've been sorta lurking here a long time reading, but this is the first
time I've contributed.  This seems to work.  It's really the same as one of
yours, with just a bit of tweaking.
>
>I'll be nice since you're a first time poster. :)
>
>> 
>> #!/usr/bin/perl
>> 
>> my $string = qq(DailyNAV "Class C" nav);
>> print join('|', split(/\s?"([^"]+)"\s?/, $string))."\n";
>
>-- 
>- Doug
>
>Encrypted with ROT-26 - all attempts to decrypt are illegal under the
>DMCA!
>
>




More information about the Phoenix-pm mailing list