Extraire une sous-chaîne spécifique entre deux sous-chaînes données peut être une exigence courante dans divers scénarios de codage. Considérons une situation dans laquelle vous devez isoler le texte entre des délimiteurs tels que « 123 » et « abc » pour obtenir « STRING » à partir de « 123STRINGabc ».
Alors qu'une approche de découpage manuel des chaînes comme celle fournie ((s. split(start))(1].split(end)[0]) fonctionne, il n'est pas à la hauteur en termes d'efficacité et d'élégance pythonique.
Une solution très efficace La solution exploite les expressions régulières (regex) en Python. Regex offre un moyen concis et polyvalent pour effectuer des tâches de correspondance de modèles et d'extraction. Pour notre objectif, nous pouvons utiliser le modèle d'expression régulière suivant :
asdf=5;(.*)123jasd
Pour exécuter la recherche d'expression régulière sur notre chaîne d'entrée, nous pouvons utiliser le code suivant :
import re s = 'asdf=5;iwantthis123jasd' result = re.search('asdf=5;(.*)123jasd', s) print(result.group(1)) # Output: 'iwantthis'
La fonction re.search() analyse la chaîne pour le modèle spécifié et renvoie un objet Match. La méthode group(1) récupère ensuite la sous-chaîne capturée, qui est le texte entre les délimiteurs.
Cette approche basée sur les regex offre plusieurs avantages :
En conclusion, l'utilisation d'expressions régulières est une solution élégante et efficace pour rechercher des sous-chaînes entre deux sous-chaînes données en 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!