|
|
|
|
Bonjour,
voilà, je galère sur les expressions regulières en PERL. Je dois faire un petit programme permettant de vérifier qu'une chaine de caractère commence par une majuscule et que la suite de la chaine est en minuscule ... je n'arrive pas à écrire mon expression, j'ai pourtant essayé plusieurs combinaison ...
Voilà une partie du code
$prenom="JeAn";
if($prenom=~([A-Z][a-z]*))
print "Le prenom $prenom est ecrit correctement";
else
print "Le prenom $prenom n'est pas ecrit correctement";
Dans cet exemple, il me dit que le prenom est correctement écrit ...
Salut,
^[A-Z]{1}[a-z]+
=>L'expression doit commencer par une majuscule suivie de 1 ou plusieurs minuscules. Sans l'accent circonflexe au début, il ira chercher ta majuscule partout. Donc:
if( $prenom =~ "^[A-Z]{1}[a-z]+" )
{
print ("oui");
}
else
{
print ("non");
} |
J'ai encore une autre question, car j'ai pourtant pris en compte les réponses précédentes, mais je bloque toujours
|
Salut,
^[A-Z]{1}[a-z]+
Une clase des caractères a pour le but de faire reconnaître un caractère parmi les plusieurs. qu'une chaine de caractère commence par une majuscule et que la suite de la chaine est en minuscule En ce cas pour reconnaître le 1er caractère en majuscules ça suffit [A-Z]. Le quantificateur d'intervalle {1} est inutile. ^[A-Z][a-z]+$ lami20j |