#!/usr/bin/perl -w
# http://t...content-available-to-author-only...h.net/test/read.cgi/tech/1330666216/658
use strict;
my $str = q/test"xx&xx'x"xxx'xx&xx'xxxxx&yyyyy&zzz/;

$str =~ /
  ((?:
    (['"]) (?:\\\2|.)+? \2 |
    [^'"&]
  )+)&
/x;

print "1:[$1]\n2:[$']\n";
