Comment exclure un caractère à partir d'une expression régulière de groupe?
Je tiens à dépouiller tous les caractères non-alphanumériques à l'EXCEPTION du tiret à partir d'une chaîne (python).
Comment puis-je changer cette expression régulière correspond à la non-alphanumériques char à l'exception du tiret?
re.compile('[\W_]')
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser un démenti de la classe de caractères à la place:
Cela va correspondre à tout ce qui n'est pas dans le alphanumérique gammes ou un trait d'union. Elle correspond également à le souligner, que par votre regex.
Avis que cela remplace également des espaces (qui peut certainement être ce que vous voulez).
Edit: SilentGhost a suggéré qu'il pourrait être moins cher pour le moteur de traiter avec un quantificateur, dans ce cas, vous pouvez simplement utiliser:
La
+
aurez simplement à cause tout fonctionne de manière consécutive caractères correspondent à tous les match (et être remplacés en même temps.\w
correspond à des caractères alphanumériques, ajouter dans le trait d'union, puis réduire à néant l'ensemble:r"[^\w-]"