gudn tach!
"(?:[^"]|\")*"
das funktioniert nicht so, wie Du Dir das wünschst - drehe die Reihenfolge von '\"' und '[^"]' mal um.
ich denke, dass das (zumindest bei perl) keinen unterschied machen sollte, da afaik automatisch "gebacktrackt" wird.
#!/usr/bin/perl
use strict;
$_ = '$xxx="a\"b";';
print 'gefunden'."\n" if /^\s*\$xxx\b\s*=\s*("(?:[^"]|\\")*"|'(?:[^']|\\')*');$/;
print 'gefunden'."\n" if /^\s*\$xxx\b\s*=\s*("(?:\\"|[^"])*"|'(?:[^']|\\')*');$/;
gibt bei mir zwei mal "gefunden" aus.
prost
seth