seth_not@home: regulärer Ausdruck

Beitrag lesen

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