Aus dieser ZeichenfolgeRegex: Überspringe das erste Match eines Charakters in der Gruppe?
s = 'stringalading-0.26.0-1'
Ich mag würde 0.26.0-1
den Teil zu extrahieren. Ich kann mir verschiedene Wege, dies zu erreichen, geteilt mit oder einen regulären Ausdruck ein Muster wie diese
pattern = r'\d+\.\d+\.\d+\-\d+'
Ich habe versucht, auch eine Gruppe von Zeichen verwendet werden, wie so mit:
pattern = r'[.\-\d]+'
Dies gibt me:
In [30]: re.findall(pattern, s)
Out[30]: ['-0.26.0-1']
So fragte ich mich: ist es möglich, das erste Vorkommen eines Zeichens in einer Gruppe, in diesem Fall das erste Auftreten von -
zu überspringen?
Ihre erste Regex funktioniert korrekt, aber ich würde empfehlen, hier keine Regex zu verwenden, wenn Sie nur die Zeichenfolge in 2 Teile w teilen müssen mit dem ersten Bindestrich. Siehe meine Antwort unten. –