{{tag>regex exemple}} ====== Regex : minuscules sans caractères spéciaux ====== On souhaite sélectionner seulement des mots en minuscules pouvant intégrer des chiffres et les caractères '-' et '_' : les autres caractères spéciaux, les accents ou ponctuations ne sont pas acceptés. Ci-dessous l'expression rationnelle souhaitée: ^([_a-z0-9-])+( {1}([_a-z0-9-])+)*$ Exemples de chaînes valides: mot deux mots _mot-valide 1_autre_mot_valide une autre phrase a 7 mots valides Exemples de rejets : la chaine commence par un espace ou contient de multiples espaces . des accents sont présents dans la chaine de la ponctuation aussi est rejetee! les caractères accentués ou spéciaux $ sont rejetés Pour utiliser correctement l'expression rationnelle depuis bash avec **grep**, utiliser l'argument -P (%%--perl-regexp%%): echo "exemple de chaine rejeté" | grep -P '^([a-z])+( {1}([a-z])+)*$'