Hier ther Szenario, würde ich sekundären Pfad in URL extrahieren möge, so dass die folgende URL soll alle return ‚acd‘Regex passend mit Ende Dollarzeichen auf URL-Muster in Python
/opportunity/a-c-d
/opportunity/a-c-d/
/opportunity/a-c-d/123/456/
/opportunity/a-c-d/?x=1
/opportunity/a-c-d?x=1
Mein Code-Schnipsel ist wie folgt:
m = re.match("^/opportunity/([^/]+)[\?|/|$]", "/opportunity/a-c-d")
if m:
print m.group(1)
Es funktioniert für alle möglichen URLs oben mit Ausnahme der ersten /opportunity/a-c-d
. Kann mir bitte jemand helfen, den Grund zu erklären und meine Regex zu korrigieren? Danke vielmals!
Warum haben Sie '' 'zweimal innerhalb der' [] '? Es gibt keinen Grund, dasselbe Zeichen mehrfach in einem Zeichensatz aufzuführen. – Barmar
Mögliches Duplikat von [Make regex passt dotfiles genau an] (http://stackoverflow.com/questions/42913533/make-regex-match-dotfiles-accurately) –
Ihr regulärer Ausdruck benötigt die zweite Komponente der URL gefolgt von ' ? ',' | ','/'oder' $ '. Keiner von ihnen ist nach "a-c-d" in der ersten URL. – Barmar