Extraction de sous-brins entre marqueurs
Étant donné une chaîne et une paire de marqueurs, la tâche consiste à extraire la sous-chaîne entre ces marqueurs. Par exemple, considérons la chaîne « gfgfdAAA1234ZZZuijk ». L'objectif est d'obtenir la partie '1234'.
En Python, les expressions régulières apportent une solution puissante à ce problème. Considérez l'extrait de code suivant :
import re text = 'gfgfdAAA1234ZZZuijjk' m = re.search('AAA(.+?)ZZZ', text) if m: found = m.group(1) # found: 1234
L'expression « AAA(. ?)ZZZ » correspond à n'importe quelle sous-chaîne entre « AAA » et « ZZZ ». Les parenthèses dans l'expression capturent la sous-chaîne en tant que groupe et le '. ?' le quantificateur garantit qu'il correspond à n'importe quel nombre de caractères de manière non gourmande.
La fonction re.search() trouve la première occurrence du modèle dans le texte et renvoie un objet de correspondance, qui contient le(s) groupe(s) capturé(s) . La méthode group(1) extrait la sous-chaîne entre les marqueurs et l'affecte à la variable trouvée.
Alternativement, le bloc try-sauf peut gérer les erreurs potentielles :
import re text = 'gfgfdAAA1234ZZZuijjk' try: found = re.search('AAA(.+?)ZZZ', text).group(1) except AttributeError: # AAA, ZZZ not found in the original string found = '' # Your error handling here # found: 1234
Cette approche garantit que le programme continuera à s'exécuter même si les marqueurs ne sont pas présents dans le texte, car il gère l'AttributeError qui se produit lorsque la méthode group(1) échoue.
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!