Bonjour
Je me suis plongé dans les expressions régulières. Je pense avoir compris quelques syntaxes.
Par contre, faut-il prévoir une fonction pour programmer l'occurence "mot1 et mot2" en tenant compte du <<et>> mais en ne tenant pas compte de l'ordre des mots.
Par exemple, ci dessous:
Dans le même régistre, existe-t-il une fonction prédéfinie (ou faut-il la créer) pour exclure la chaine si elle contient un mot; par exemple pour tester
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import glob import os import re # la chaine s ne contient pas "début" "fin" s="je suis Pour l'instant \n moyennEment. TranQuILLe AvEC les eXpressioNS \ REGULIERES. " s=s.lower() print("Au moins un mot") print(" 0 mot") print(re.search(r"(\")|(début)",s,re.S)) # False print(" Un mot") print(re.search(r"(\.)|(début)",s,re.S)) #True print(" 2 mots") print(re.search(r"(suis)|(instant)",s,re.S)) #True print("mot1 et mot2") print(" dans l'ordre") print(re.search(r"(suis).*(tranquil)",s,re.S)) #True print(" dans le désordre") print(re.search(r"(instant).*(suis)",s,re.S)) #False alors que je souhaiterais que çà soit True
Chaine contient mot 1 et mot 2 et pas mot 3
merci pour vos réponses.
Gabriel Ruyneau
Partager