Module re : comment écrire le pattern

Résolu
Phil_1857 - Modifié le 24 juil. 2024 à 15:44
 Phil_1857 - 23 juil. 2024 à 10:54

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.)

2 réponses

jee pee Messages postés 40336 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 octobre 2024 9 379
22 juil. 2024 à 16:07

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

Bonjour jee_pee,

C'est pas faux !

problème résolu:

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