Ich muss einige Daten aus einer Zeichenfolge extrahieren, die Zeichenfolge ist so etwas wie fixed-string-<number>-<string>
. Fixed string
ist immer das Gleiche, ich muss die Nummer und ihre Zeichenfolge entfernen.Regulärer Ausdruck, um Nummer und String zu extrahieren
In Python 3.5, ich bin den nächsten regulären Ausdruck
str = 'initial-string/fixed-string-124-jeff-thompson'
result = re.match('fixed-string-([0-9]*)-(.*)', str)
print (result)
Aber Ergebnis ist immer None
Wert, überprüfte ich die Zeichenfolge und es ist gut ausgebildet.
Was mache ich falsch?
aktualisieren
testing = 'first-string/fixed-string-123-jeff-thompson'
pattern = r'fixed-string-(\d+)-(.*)'
result = re.match(pattern, testing)
Getestet habe ich diese, und der Code gibt mir noch None
.
Vielen Dank.
Verwenden Sie keine 'als Variablenname str'. Ihre Regex funktioniert tatsächlich, siehe [diese Demo] (https://ideone.com/g4r2yC). Beachten Sie, dass 're.match' beim Stringstart nur nach einer Übereinstimmung sucht. –
Geben Sie eine Zeichenfolge an, mit der Sie arbeiten würden. – kazemakase