in reply to Re^7: Perlre interpretation required (remember kids: test all code..)
in thread Perlre interpretation required
I guess I must be using it wrong, or the two routines aren't meant to acheive the same thing. As-is, yours does find and match on the quoted sections and handled the embedded quotes ok -- although it does leave the leading and trailing quotes in place -- but it also matches on the unquoted sections?
I get the impression that we are both acheiving our goals adequately, they are just different goals:)
Testcode
#! perl -slw use strict; require 5.008; my $re_quoted = qr[ (["']) #'" (?{ local $q = $^N }) ( (??{ "(?x: [^$q] | (?: (?<!$q)(?: (?: $q ){2} )+ ) | (?: \\$q ) )+" }) ) (?{ $quoted = $^N }) (??{ "$q" }) ]x; my $re_quoted2 = qr[\G ( ' (?: \\ . | '' | [^'] ) + ' | " (?: \\ . | "" | [^"] ) + " | (?: \\ . | [^'"] ) + )]x; while( <DATA> ){ chomp; our $quoted; print; print "\t<$1>" while m[$re_quoted2]g; print ''; } __DATA__ unquoted stuff "quoted stuff" unquoted stuff unquoted stuff 'quoted stuff' unquoted stuff unquoted stuff "quoted stuff with embedded 'alternate' quotes" unquote +d stuff unquoted stuff 'quoted stuff with embedded "alternate" quotes' unquote +d stuff unquoted stuff "quoted stuff with embedded ""like"" quotes" unquoted s +tuff unquoted stuff 'quoted stuff with embedded ''like'' quotes' unquoted s +tuff unquoted stuff "quoted stuff with embedded """"like"""" quotes" unquot +ed stuff unquoted stuff 'quoted stuff with embedded ''''like'''' quotes' unquot +ed stuff unquoted stuff "quoted 'stuff' with escaped \"like\" quotes" unquoted +stuff unquoted stuff 'quoted 'stuff' with escaped \'like\' quotes' unquoted +stuff unquoted stuff "quoted stuff with embedded ""like"" quotes and escaped + \"like\" quotes" unquoted stuff unquoted stuff 'quoted stuff with embedded ''like'' quotes and escaped + \'like\' quotes' unquoted stuff
Results
unquoted stuff "quoted stuff" unquoted stuff <unquoted stuff > <"quoted stuff"> < unquoted stuff> unquoted stuff 'quoted stuff' unquoted stuff <unquoted stuff > <'quoted stuff'> < unquoted stuff> unquoted stuff "quoted stuff with embedded 'alternate' quotes" unquote +d stuff <unquoted stuff > <"quoted stuff with embedded 'alternate' quotes"> < unquoted stuff> unquoted stuff 'quoted stuff with embedded "alternate" quotes' unquote +d stuff <unquoted stuff > <'quoted stuff with embedded "alternate" quotes'> < unquoted stuff> unquoted stuff "quoted stuff with embedded ""like"" quotes" unquoted s +tuff <unquoted stuff > <"quoted stuff with embedded ""like"" quotes"> < unquoted stuff> unquoted stuff 'quoted stuff with embedded ''like'' quotes' unquoted s +tuff <unquoted stuff > <'quoted stuff with embedded ''like'' quotes'> < unquoted stuff> unquoted stuff "quoted stuff with embedded """"like"""" quotes" unquot +ed stuff <unquoted stuff > <"quoted stuff with embedded """"like"""" quotes"> < unquoted stuff> unquoted stuff 'quoted stuff with embedded ''''like'''' quotes' unquot +ed stuff <unquoted stuff > <'quoted stuff with embedded ''''like'''' quotes'> < unquoted stuff> unquoted stuff "quoted 'stuff' with escaped \"like\" quotes" unquoted +stuff <unquoted stuff > <"quoted 'stuff' with escaped \"like\" quotes"> < unquoted stuff> unquoted stuff 'quoted 'stuff' with escaped \'like\' quotes' unquoted +stuff <unquoted stuff > <'quoted '> <stuff> <' with escaped \'like\' quotes'> < unquoted stuff> unquoted stuff "quoted stuff with embedded ""like"" quotes and escaped + \"like\" quotes" unquoted stuff <unquoted stuff > <"quoted stuff with embedded ""like"" quotes and escaped \"lik +e\" quotes"> < unquoted stuff> unquoted stuff 'quoted stuff with embedded ''like'' quotes and escaped + \'like\' quotes' unquoted stuff <unquoted stuff > <'quoted stuff with embedded ''like'' quotes and escaped \'lik +e\' quotes'> < unquoted stuff>
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^9: Perlre interpretation required (my goals)
by Aristotle (Chancellor) on May 04, 2003 at 15:35 UTC |