python-Gruppe(0) Bedeutung
Was ist die genaue definition von Gruppe(0)
re.Suche?
Manchmal die Suche können komplexe und ich würde gerne wissen, was die vermeintlichen Gruppe(0) - Wert per definition?
Nur um ein Beispiel zu geben, wo die Verwirrung kommt, betrachten Sie das passende. Das gedruckte Ergebnis ist nur def
. In diesem Fall ist die Gruppe(0) nicht zurückkehren, das gesamte match.
m = re.search('(?<=abc)def', 'abcdef')
>>> m.group(0)
def
- Es ist ein match-Wert.
abc
ist nicht Teil des Spiels.- Wenn Sie wollte
abc
warum ist es in einer lookbehind? - Der ganze Punkt, der mit einem lookahead oder lookbehind ist, dass es nicht, aufgenommen in das match.
- Nicht sicher, aber eine sehr schließen ein: Warum regulären Ausdrucks "non-capturing" - Gruppe funktioniert nicht
Du musst angemeldet sein, um einen Kommentar abzugeben.
match_object.Gruppe(0), sagt, dass der ganze Teil der match_object gewählt.
Neben der Gruppe(0) kann erläutert werden durch den Vergleich mit der Gruppe(1) Gruppe(2) Gruppe(3), ..., Gruppe(n). Gruppe(0) ortet das ganze match Ausdruck. Dann bestimmen Sie passenden Standorte paranthesis verwendet werden: Gruppe(1) bedeutet die erste paranthesis paar sucht passenden Ausdruck 1, Gruppe(2) steht das zweite neben paranthesis-pair-Mädchen sucht die match-expression 2, und so weiter. In jedem Fall ist die öffnende Klammer bestimmt die nächsten paranthesis-paar mit dem am weitesten schließende Klammer zu bilden paranthesis-pair-Mädchen. Das klingt vielleicht verwirrend, deshalb ein Beispiel finden Sie unten.
Aber Sie müssen unterscheiden zwischen der syntax der paranthesis von '(?<=abc)'. Diese paranthesis eine andere syntaktische Bedeutung, was zu finden, was gebunden ist durch '?<='. So Ihr Hauptproblem ist, dass Sie nicht wissen, was '?<=' tut. Dies ist eine so genannte look-behind-was bedeutet, dass es stimmt mit dem Teil hinter der Ausdruck, dass es Grenzen.
Im folgenden Beispiel 'abc' gebunden ist, durch den Blick-hinter sich.
Kein paranthesis sind erforderlich, um die form-match der Gruppe 0, da sucht er die ganze match-Objekt sowieso.
Die öffnende Klammer vor dem Buchstaben " d " nimmt die Letzte schließende Klammer vor dem Buchstaben 'f' zu bilden passende Gruppe 1.
Die Klammern, die um den Buchstaben 'e' definieren, dazu passende Gruppe 2.
Diese Drucke:
def
de
e
group(0)
gibt den vollständigen string auf, der der regex. Es ist nur so, dassabc
ist nicht Teil des Spiels.(?<=abc)
passt nichtabc
- es passt jeder position in der Zeichenfolge unmittelbar vorangestelltabc
.