Python scheint ein ziemlich überraschendes Verhalten zu haben, wenn Gruppen in Python passend:Warum werden Regex-Gruppen in Python nicht wie erwartet abgeglichen?
>>> re.split("\+|-", "1+2")
['1', '2']
>>> re.split("(\+|-)", "1+2")
['1', '+', '2']
ich keine befriedigende Erklärung nicht gefunden habe, warum, so wird abgestimmt einen einzigen Ausdruck Gruppierung würde es verhindern, was ist das Problem hier?
Laut regex101 gibt es absolut keinen Unterschied bei der Anpassung, obwohl mehr Schritte erforderlich sind.
Siehe http://stackoverflow.com/questions/2136556/in -python-how-do-i-split-a-string-und-behalten-die-Trennzeichen. Und ['re.split' docs] (https://docs.python.org/2/library/re.html#re.split): * Wenn im Muster Fangklammern verwendet werden, dann der Text aller Gruppen in der Muster werden auch als Teil der resultierenden Liste zurückgegeben. * –