Ich habe ein paar Strings, die alle mit einigen numerischen Ziffern, unmittelbar vor einer Anzahl von nicht numerischen Zeichen, z. B. , enden. Ich möchte genau diese Gruppe abschneiden; für dieses Beispiel -ch1
. Ich habe versucht,Abschließende Gruppe mit Regex trennen
import re
str0 = '10.1002/0470868279-ch1'
a = re.match('(.*)([^0-9]+[0-9]*)', str0)
print(a.group(0))
print(a.group(1))
print(a.group(2))
str1 = '10.1002/0470868279.1' # likewise
aber das ist nicht ganz:
10.1002/0470868279.ch1
10.1002/0470868279.c
h1
Ich denke, die regex gierig von Anfang an übereinstimmt.
Irgendwelche Hinweise?
Verwenden Sie ['re (r '\ W + \ w + $', '', str0)'] (http://ideone.com/PL39FG) –