2017-07-10 1 views

Répondre

-1

Parce qu'il n'y a pas un caractère mot existe avant @. Vous devez d'abord comprendre le fonctionnement de \b (qui correspond à la limite existe entre un caractère de mot \w et un caractère non-mot \W ou vice-versa).

Ici le caractère existe avant @ est space qui n'est pas un caractère de mot. Donc, il ne correspondra pas à ce symbole particulier @.

Peut être que vous pouvez essayer \[email protected]\B fait le contraire de \b

>>> re.findall(r"\[email protected]", "blabla @blabla") 
['@'] 
>>> re.findall(r"\[email protected]", "blabla [email protected]") 
['@'] 
>>> 
+0

Merci, j'ai compris. – Chijiaodaxie