1.re.search() : la recherche renvoie l'objet du résultat de la recherche (après avoir trouvé le premier résultat correspondant avec succès dans l'ordre, la recherche ne se poursuivra pas et Aucun ne sera renvoyé si aucun résultat n'est trouvé). utilisez group() Ou utilisez la méthode groups() pour obtenir la chaîne correspondant avec succès.
①group() renvoie la chaîne entière qui correspond avec succès par défaut (en ignorant les parenthèses dans le modèle. Vous pouvez également spécifier la chaîne entre parenthèses qui correspond avec succès à renvoyer (en comptant à partir de 1) ; 🎜> ②groups() renvoie le contenu entre parenthèses du modèle correspondant avec succès sous la forme d'un tuple s'il n'y a pas de parenthèses dans le modèle, il renvoie un tuple vide correspondant à la chaîne correspondant avec succès.
1 >>> string = 'python' 2 >>> import re 3 >>> result = re.search(r'(yt)h(o)', string) 4 >>> result 5 <_sre.SRE_Match object at 0x000000000293DE88> 6 >>> result.group() 7 'ytho' 8 >>> result.group(0) # 参数0无效 9 'ytho'10 >>> result.group(1) # 从1开始计数11 'yt'12 >>> result.group(2)13 'o'14 >>> result.groups()15 ('yt', 'o')16 >>> result.groups(0) # 传入参数无效17 ('yt', 'o')18 >>> result.groups(1)19 ('yt', 'o')20 >>>
1 >>> string = 'one11python, two22, three33python ' 2 >>> result = re.finditer(r'(\d+)(python)', string) 3 >>> for p in result: 4 print(p.group()) 5 6 7 11python 8 33python 9 >>> for p in result:10 print(p.group(2))11 12 13 python14 python15 >>> for p in result:16 print(p.groups()) # 若是pattern中没有括号,则返回的是每个迭代器对应的空元组。17 18 19 ('11', 'python')20 ('33', 'python')
1 >>> string = 'one11python, two22, three33python '2 >>> result = re.findall(r'\d+python', string)3 >>> result4 ['11python', '33python']5 >>> result = re.findall(r'(\d+)(python)', string)6 >>> result7 [('11', 'python'), ('33', 'python')]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!