Ersteinmal Danke für die Antworten.
Die Strings die gematcht werden sollen sehen folgendermaßen aus ( nein, ich versuche nicht Perl zu parsen ) :
"Test", 'test mit \' und \", aber auch "', "\a\b\c .. \z", '\\ Test'
Die Strings sollen allerdings keine echten Zeilenumbrüche enthalten.
@pg: ich wusste nicht ob ich $1 oder \1 verwenden muss, habe mich dann für $1 entschieden, weil ich es so von s/// gewöhnt bin.
@betterworld: Daran hatte ich nicht gedacht, es soll beides matchen, aber das hat ja nichts mit der Zeichenklasse zu tun, sie soll nur verhindern, dass das schließende Anführungszeichen, oder ein Zeilenumbruch, oder ein nicht zugelassener Backslash ( erscheint mir im Nachhinein unnötig ) verwendet wird.
Deine angegebene Regex ( '(?!\1)[^\\\n\r]' ) funktioniert leider nicht.
Weiterhin habe ich auch
(?!(?:\1|[\\\n\r])) ausprobiert, auch ohne Erfolg.
Ich hoffe Ihr könnt mir helfen, probiere das nun schon etwas länger hinzubekommen :(
MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'