Maison >développement back-end >Tutoriel Python >Tutoriel d'exemple de réopération Python
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 >>>2. re.finditer() : renvoie un itérateur de tous les résultats de recherche (s'il n'y a pas de chaîne correspondante, un itérateur vide est renvoyé), chaque objet Iterable peut également utilisez group() et groups() pour obtenir les résultats des correspondances réussies.
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')3. re.findall() : renvoie toutes les chaînes trouvées sous la forme d'une liste (si aucune chaîne correspondante n'est trouvée, elle renverra une liste vide).
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!