problème avec expression régulière
Bonjour,
Voilà depuis quelques temps, je me heurtes à un problème avec les expressions régulières. Je voudrais que l'expression vérifie que le nom de machine entré:
==> commence par une lettre (obligatoire)
==> ensuite le nom peut contenir des lettres, des chiffres et éventuellement le symbole "-"
==> pas de différence entre les miniscules et majuscules
Voici mon code:
Code:
1 2 3 4 5 6 7 8
| import re
def host(machine):
m=re.search('^(([a-zA-Z]){1})([a-zA-Z0-9\-])$', machine)
try:
print "OK"
except:
return False |
Quand je teste un nom avec une minuscule/majuscule en 1ère lettre : pas de problème.
Par contre lorsque le nom commence par un chiffre et/ou contient un symbole autre que "-", il m'affiche "OK", alors qu'il ne devrait pas.
Je tourne en rond donc si quelqu'un à une solution, elle est la bien venue.
Merci