Faire correspondre des blocs de texte multilignes avec des expressions régulières Python
Dans cette question de programmation, nous visons à faire correspondre un format spécifique de texte qui s'étend sur plusieurs lignes . Le texte d'entrée se compose de blocs alternés de texte minuscules et majuscules, où le texte minuscule représente un composant de base et le texte majuscule représente une séquence d'acides aminés.
Énoncé du problème
La tâche consiste à créer une expression régulière en Python capable de capturer deux composants du texte d'entrée :
La sortie doit être divisée en deux groupes de capture, avec le composant de base minuscule dans le groupe (1) et la séquence majuscule dans le groupe (2).
Solution
Pour résoudre ce problème, nous pouvons utiliser l'expression régulière suivante :
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
Cette regex fonctionne en mode multiligne, ce qui signifie que les ancres ^ et $ correspondront aux début et fin des lignes, respectivement.
Explication
n((?:n. ) ) : correspond aux lignes consécutives de texte en majuscules qui suivent le composant de base.
Utilisation
Pour utiliser cette expression régulière, vous pouvez suivre ces étapes :
import re text = """ some Varying TEXT ... [lines of uppercase text] ... """ regex = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE) match = regex.search(text) if match: lowercase_text = match.group(1) uppercase_text = match.group(2) # Process the captured text as needed
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!