Maison > développement back-end > Tutoriel Python > Comment puis-je trouver toutes les séries de nombres à 10 chiffres qui se chevauchent dans une chaîne à l'aide du module « re » de Python ?

Comment puis-je trouver toutes les séries de nombres à 10 chiffres qui se chevauchent dans une chaîne à l'aide du module « re » de Python ?

Patricia Arquette
Libérer: 2024-12-29 22:31:11
original
971 Les gens l'ont consulté

How Can I Find All Overlapping 10-Digit Number Series in a String Using Python's `re` Module?

Correspondances Regex superposées : trouver chaque série de nombres

Introduction

La question se pose de comment localiser chaque série de nombres à 10 chiffres qui se chevauchent au sein d'une plus grande collection de nombres à l'aide du module « re » en Python 2.6. Bien que les correspondances qui ne se chevauchent pas soient simples, extraire toutes les occurrences s'avère difficile.

Solution

Pour résoudre ce problème, un groupe de capture peut être utilisé dans le cadre d'une analyse prospective. L'anticipation identifie les séquences souhaitées, mais la correspondance réelle correspond à la sous-chaîne de largeur nulle qui la précède, garantissant ainsi l'absence de chevauchement. correspondances.

Mise en œuvre

import re

s = "123456789123456789"
matches = re.finditer(r'(?=(\d{10}))', s)
results = [int(match.group(1)) for match in matches]
Copier après la connexion

Sortie

[1234567891,
 2345678912,
 3456789123,
 4567891234,
 5678912345,
 6789123456,
 7891234567,
 8912345678,
 9123456789]
Copier après la connexion

Explication

L'expression régulière (?=(d{10})) affirme qu'immédiatement à sa droite se trouve un groupe de capture représentant une série numérique à 10 chiffres (d{10}). L'anticipation ne consomme aucun caractère, donc les correspondances réelles sont les sous-chaînes de longueur nulle précédant les anticipations, qui sont les séries individuelles à 10 chiffres.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal