Python Regex Negativ-Lookbehind

8

Das Muster (?<!(asp|php|jsp))\?.* funktioniert in PCRE, funktioniert aber nicht in Python.

Was kann ich tun, damit dieser Regex in Python funktioniert? (Python 2.7)

    
Matt Elson 19.12.2012, 08:05
quelle

1 Antwort

9

Es funktioniert vollkommen in Ordnung für mich. Benutzt du es vielleicht falsch? Stellen Sie sicher, dass re.search anstelle von re.match :

verwendet wird %Vor%

Wie sollte sich Ihr Muster genau verhalten? Wie bereits erwähnt, können Sie die Übereinstimmung erhalten, wenn Sie das Objekt Match einer Variablen zuweisen (zB m ) und dann m.group() aufrufen. Das ergibt ?1=123 .

Übrigens können Sie die inneren Klammern weglassen. Dieses Muster ist äquivalent:

%Vor%     
Martin Ender 19.12.2012, 08:10
quelle