Bonjour, je suis nouveau dans regex et je commence avec python. Je suis coincé à extraire tous les mots d'une phrase en anglais. Jusqu'à présent, j'ai:
import re
shop="hello seattle what have you got"
regex = r'(\w*) '
list1=re.findall(regex,shop)
print list1
Cela donne une sortie:
["bonjour", "seattle", "quoi", "avoir", "vous"]
Si je remplace regex par
regex = r'(\w*)\W*'
puis sortez:
['bonjour', 'seattle', 'quoi', 'avoir', 'vous', 'got', '']
alors que je veux cette sortie
['bonjour', 'seattle', 'quoi', 'avoir', 'vous', 'got']
Veuillez m'indiquer où je vais mal.
Utiliser la limite de mot \b
import re
shop="hello seattle what have you got"
regex = r'\b\w+\b'
list1=re.findall(regex,shop)
print list1
OP : ['hello', 'seattle', 'what', 'have', 'you', 'got']
ou simplement \w+
est assez
import re
shop="hello seattle what have you got"
regex = r'\w+'
list1=re.findall(regex,shop)
print list1
OP : ['hello', 'seattle', 'what', 'have', 'you', 'got']