Bonjour à tous,
je rencontre un problème que je n'arrive pas à régler avec une expression régulière, et pourtant cela semble facile.
Sur un commutateur Cisco, la commande show ip interfaces brief donne un résultat proche de celui-ci :
Le nombre d'espaces entre les champs peuvent varier de un à plusieurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Switch#sh ip int brief Interface IP-Address OK? Method Status Protocol Vlan 1 172.16.25.144 YES NVRAM administratively down down FastEthernet0/1 unassigned YES manual down down FastEthernet0/2 unassigned YES manual down down FastEthernet0/3 unassigned YES manual down down FastEthernet0/4 unassigned YES manual down down FastEthernet0/5 unassigned YES manual down down
L'expression /\s+/ dans preg_split() me permet de récupérer la bonne valeur la plupart du temps, sauf... lorsque l'interface et "administratively down" !
et là, je galère avec des formes négatives de groupe car je ne maîtrise pas le sujet REGEX
/(?!(administratively down)\s+)/ ou /(?!(administratively down))\s+/ ne donnent pas le résultat escompté... une idée sur mes erreurs ?
Merci d'avance![]()
Partager