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 : Sélectionner tout - Visualiser dans une fenêtre à part
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