Match
objets sont toujours vrais et None
sont renvoyés s'il n'y a pas de correspondance. Testez simplement la justesse.
Code:
>>> st = 'bar'
>>> m = re.match(r"ba[r|z|d]",st)
>>> if m:
... m.group(0)
...
'bar'
Sortie = bar
Si vous voulez des search
fonctionnalités
>>> st = "bar"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m is not None:
... m.group(0)
...
'bar'
et si regexp
non trouvé que
>>> st = "hello"
>>> m = re.search(r"ba[r|z|d]",st)
>>> if m:
... m.group(0)
... else:
... print "no match"
...
no match
Comme @bukzor l'a mentionné, si st = foo bar
que match ne fonctionnera pas. Donc, il est plus approprié d'utiliser re.search
.
bool(re.search('ba[rzd]', 'sometext'))
.