<! - Lien-> [1]:https://docs.python.jp/3/library/re.html#match-objects
[6.2. Manipulation des expressions régulières - Documentation Python 3.6.1] [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 des expressions régulières - Documentation Python 3.6.1] [1]
|Contexte pour référencer le groupe "devis"|Méthode de référence| |:---|:---| |Référence au même modèle|・
(?P=quote)
(Tel quel)
・\1
| |Match objetm
Au moment du traitement|・m.group('quote')
・m.end('quote')
(etc.)| |re.sub()Chaîne passée à l'argument repl de|・\g<quote>
・\g<1>
・\1
|
match.group ()
, match.groupdict ()
Échantillon pour examiner le comportement
example.txt
.text 000c4342+000000f0 _ccc
Expression régulière (" (? P <addr> [0-9A-Fa-f] {8}) \ + (? P <size> [0-9A-Fa-] pour correspondre à
000c4342 + 000000f0 Si vous utilisez f] {8}) "
),
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