Module re : comment écrire le pattern

Résolu
Phil_1857 -  
 Phil_1857 -

Bonjour,

Une simple question:

Le code ci-dessous

import re

pat1 = r"^affiche '.+'"
pat2 = r"^affiche .+"
s = "affiche 'hello'"

if re.match(pat1, s):
    print('ok 1')
if re.match(pat2, s):
    print('ok 2')

m'affiche :

ok1
ok2

alors qu'il ne devrait afficher que

ok1

(je cherche des simples quotes dans la chaîne à tester.)

A voir également:

2 réponses

jee pee Messages postés 41515 Date d'inscription   Statut Modérateur Dernière intervention   9 717
 

Bonjour,

Dans la seconde recherche .+ prend n'importe quel caractère, autant de fois qu'il y en a, 'hello' répond à la question.


0
Phil_1857
 

Bonjour jee_pee,

C'est pas faux !

problème résolu:

pat2 = r"^affiche [^']+$"
0