Expressions regulieres
cachouCacharel
Messages postés
13
Statut
Membre
-
dubcek Messages postés 19023 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 19023 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
SVP j'aimerais faire un controle sur une valeur d'adresse IP a entrer en utilisant les expressions regulieres. j'aimerais que l'adresse entree puisse repondre a un format bien precis par exemple 172.10.X.X et j'aimerai au niveau du 3eme octet specifier un certain nombre de sous-reseaux. par exemple 10, 20 et 76 uniquement. donc 172.22.10/20/76.X avec 0<X<255
voila ce que j'ai utilise
echo " Veuillez entrer l'adresse IP"
read adresse_IP
while [[ $adresse_IP != 172\.22\.[10,20,76]\.[0-2][0-5][0-4] ]]
do
echo " Vous avez entre une adresse IP non valide, veuillez ressaisir"
read adresse_IP
done
ca ne marche pas. vouspouvez m'aider SVP???
SVP j'aimerais faire un controle sur une valeur d'adresse IP a entrer en utilisant les expressions regulieres. j'aimerais que l'adresse entree puisse repondre a un format bien precis par exemple 172.10.X.X et j'aimerai au niveau du 3eme octet specifier un certain nombre de sous-reseaux. par exemple 10, 20 et 76 uniquement. donc 172.22.10/20/76.X avec 0<X<255
voila ce que j'ai utilise
echo " Veuillez entrer l'adresse IP"
read adresse_IP
while [[ $adresse_IP != 172\.22\.[10,20,76]\.[0-2][0-5][0-4] ]]
do
echo " Vous avez entre une adresse IP non valide, veuillez ressaisir"
read adresse_IP
done
ca ne marche pas. vouspouvez m'aider SVP???
A voir également:
- Expressions regulieres
- Expressions régulières "ne contient pas ..." ✓ - Forum Programmation
- Expressions francaises - Forum Études / Formation High-Tech
- Kyocera Ecosys P3060dn, traces régulières - Forum Imprimante
- Expressions visage bitmoji ✓ - Forum Snapchat
- Que veulent dire les expressions lol et mdr ? ✓ - Forum Loisirs / Divertissements
3 réponses
hello
autre méthode
autre méthode
echo " Veuillez entrer l'adresse IP"
read adresse_IP
declare -A a ; for x in 172.22.{10,20,76}.{0..255}; do a[$x]=999;done
while [[ -z "${a[$adresse_IP]}" ]]
do
echo " Vous avez entre une adresse IP non valide, veuillez ressaisir"
read adresse_IP
done
salut,
tu mélanges les regex et les globs!
seul =~ teste les regex.
tu ne peux pas tester l'adresse machine comme tu le fais, car la machine 159 ne sera pas valider puisque 9 est supérieur à [0-4]
je testerais chaque partie de l'adresse (c'est laborieux, je sais :()
en bash:
tu mélanges les regex et les globs!
seul =~ teste les regex.
tu ne peux pas tester l'adresse machine comme tu le fais, car la machine 159 ne sera pas valider puisque 9 est supérieur à [0-4]
je testerais chaque partie de l'adresse (c'est laborieux, je sais :()
en bash:
read -p'entrez une adresse : ' ip
IFS='.' read re zo sub ma <<<"$ip"
if [ $re.$zo = 172.22 ]
then
if [[ $sub = @(10|20|76) ]]
then
if [ $ma -lt 255 ]
thenetc
j'ai modifié