-1
votes

Regex Python correspondent aux mots avec `Est`

Bonjour, j'essaie de faire correspondre un mot contenant est code> d'une phrase.

Par exemple, la chaîne est la suivante: p>

(?:^|)(est|est)(?:$|)


3 commentaires

Est-ce que . * (\ B. * Est. *? \ B). * aide? Voir Demo Regex101.com/r/dew5Q8/5


Devrait-il mettre fin au mot ou être n'importe où dans un mot?


peut-il correspondre à 123est ?


4 Réponses :


4
votes

je voudrais re.findall avec le modèle \ b \ w * est \ w * \ b : xxx

Ceci imprime : xxx

Le modèle de regex trouve tous les mots contaminés est , permettant à n'importe quel nombre de caractères Word avant ou après est .


0 commentaires

3
votes

Vous pouvez essayer: xxx

Explication de la regex ci-dessus:

(? i) - représente le mode cas-indifférent.

\ b - représente une limite de mot.

[AZ] *? - Matter de manière paresseuse zéro ou plus des lettres avant est à partir du jeu de caractères donné en cas de mode indifférent.

est - correspondance est littéralement.

[A-Z] * - Matter de zéro goulûment ou plus des lettres du jeu de caractères donné après est .

Vous pouvez trouver la démo de la regex ci-dessus dans ici.


 représentation picturale

Exemple de mise en œuvre en Python: < pré> xxx

Vous pouvez trouver l'exemple de la mise en œuvre ci-dessus dans ici.


0 commentaires

1
votes

Vous pouvez utiliser un lookaDead positif simple pour extraire les mots. La regex dont vous avez besoin est-

([\ w] + (? = EST) est) code> p>

Découvre la démo ici p>

Voici comment le script Python pourrait ressembler - P>

['best', 'greatest']


0 commentaires

1
votes

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 Split code> et liste-compréhension code> em>:

1) em> Strong> Strings se terminant par "Est" em>, en utilisant Endswith code> : p> xxx pré>

sorties: [" meilleur "," meilleur "] code>

2) em> stress> contenant "est" em> comme une sous-chaîne à l'aide du 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()])


0 commentaires