Bonjour, j'essaie de faire correspondre un mot contenant Par exemple, la chaîne est la suivante: p> est code> d'une phrase. (?:^|)(est|est)(?:$|)
4 Réponses :
je voudrais Ceci imprime : p> Le modèle de regex trouve tous les mots contaminés re.findall code> avec le modèle \ b \ w * est \ w * \ b code>: est code>, permettant à n'importe quel nombre de caractères Word avant ou après est code> . p> p>
Vous pouvez essayer: Explication de la regex ci-dessus: strong> p> Vous pouvez trouver la démo de la regex ci-dessus dans ici. forte> p> Exemple de mise en œuvre en Python: strong> p> < pré> xxx pré> Vous pouvez trouver l'exemple de la mise en œuvre ci-dessus dans ici. fort> p> p>
(? i) code> strong> - représente le mode cas-indifférent. P>
\ b code> strong> - représente une limite de mot. p>
[AZ] *? CODE> STRORT> - Matter de manière paresseuse zéro ou plus des lettres avant est code> à partir du jeu de caractères donné en cas de mode indifférent. p>
est code> strud> - correspondance est code> littéralement. P>
[A-Z] * CODE> STROND> - Matter de zéro goulûment ou plus des lettres du jeu de caractères donné après est p>. P>
blockQuote>
Vous pouvez utiliser un lookaDead positif simple pour extraire les mots. La regex dont vous avez besoin est-
Découvre la démo ici p> Voici comment le script Python pourrait ressembler - P> ([\ w] + (? = EST) est) code> p> ['best', 'greatest']
Les autres réponses ont obtenu des expressions régulières couvertes, mais si vous le souhaitez, cela peut facilement être effectué sans expressions régulières en utilisant sorties: Split code> et liste-compréhension code> em>: Endswith code> : p> [" meilleur "," meilleur "] code> dans code> opérateur: p> text = """You are the best
greatest 123est show of all time"""
print([x for x in text.split() if 'est' in x and x.isalpha()])
Est-ce que
. * (\ B. * Est. *? \ B). * Code> aide? Voir Demo Regex101.com/r/dew5Q8/5Devrait-il mettre fin au mot ou être n'importe où dans un mot?
peut-il correspondre à
123est code>?