<! - Link-> [1]:https://docs.python.jp/3/library/re.html#match-objects
[6.2. Manipulation regulärer Ausdrücke - Python 3.6.1-Dokumentation] [1]
>>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
>>> m.group(0) # The entire match
'Isaac Newton'
>>> m.group(1) # The first parenthesized subgroup.
'Isaac'
>>> m.group(2) # The second parenthesized subgroup.
'Newton'
>>> m.group(1, 2) # Multiple arguments give us a tuple.
('Isaac', 'Newton')
[6.2. Manipulation regulärer Ausdrücke - Python 3.6.1-Dokumentation] [1]
|Kontext für die Referenzierung der Gruppe "Zitat"|Referenzmethode| |:---|:---| |Verweis auf das gleiche Muster|・
(?P=quote)
(Wie es ist)
・\1
| |Objekt abgleichenm
Zum Zeitpunkt der Verarbeitung|・m.group('quote')
・m.end('quote')
(etc.)| |re.sub()Zeichenfolge an das Repl-Argument von übergeben|・\g<quote>
・\g<1>
・\1
|
match.group ()
, match.groupdict ()
Beispiel zur Untersuchung des Verhaltens
example.txt
.text 000c4342+000000f0 _ccc
Regulärer Ausdruck ("" (? P
In [217]: with open("example.txt") as f:
...: for s in f:
...: m = re.search("(?P<addr>[0-9A-Fa-f]{8})\+(?P<size>[0-9A-Fa-f]{8})",s)
...: if m:
...: print("m.groups() : " + str(m.groups()))
...: print("m.group() : " + str(m.group()))
...: print("m.group(0) : " + str(m.group(0)))
...: print("m.group(1) : " + str(m.group(1)))
...: print("m.group(2) : " + str(m.group(2)))
...: print("m.groupdict() : " + str(m.groupdict()))
...: print("m.group(\"addr\") : " + str(m.group("addr")))
...: print("m.group(\"size\") : " + str(m.group("size")))
...:
...:
m.groups() : ('000c4342', '000000f0')
m.group() : 000c4342+000000f0
m.group(0) : 000c4342+000000f0
m.group(1) : 000c4342
m.group(2) : 000000f0
m.groupdict() : {'addr': '000c4342', 'size': '000000f0'}
m.group("addr") : 000c4342
m.group("size") : 000000f0
Recommended Posts