Ereg_replace [php]

Fermé
bensezoug Messages postés 29 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 21 mars 2006 - 11 mars 2005 à 16:02
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 11 mars 2005 à 18:37
J'ai besoin d'un petit coup de main pour une expression reguliere.

c'est pour supprimer dans une ligne des nombres qui sont entre parenthere et les parentheses avec.
Mais j'arrive pas a m'en sortir vu que les parentheses sont deja des caracteres de controle pour les regexp.
j'ai bien essayé un backslash pour echapper la parenthese mais ca me fait des erreurs.
A voir également:

10 réponses

maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
11 mars 2005 à 16:17
Bonjour!

pourrais tu mettre la regexp que tu as déjà silteplé et un exemple?
:)
0
bensezoug Messages postés 29 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 21 mars 2006 3
11 mars 2005 à 16:30
voila la chaine a traiter:

RX bytes:1347822817 (1285.3 Mb) TX bytes:867992285 (827.7 Mb)

je veux virer les deux valeures entre parentheses.

j'ai essayer le masque suivant
"\((.*)\)"qui me donne l'erreur:
Warning: Delimiter must not be alphanumeric or backslash in /var/www/localhost/htdocs/cacti/scripts/wan_bytes.php on line 27
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
11 mars 2005 à 16:35
et ça?

(\(.*\))
0
bensezoug Messages postés 29 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 21 mars 2006 3
11 mars 2005 à 16:40
alors ya du mieux mais la il me donne que ca:
RX bytes:1356305902
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
11 mars 2005 à 16:46
ah oui!
Le problème vient du fait qu'il y ait deux groupes de parenthèses... celles du milieu sont comptées dans le .*... Il faut que tu fasses .* moins les parenthèses.
Par contre, je ne connais plus la syntaxe!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 526
11 mars 2005 à 17:07
Salut,

Essaie celle-ci, ça marche chez moi:
\([0-9]+\.?[0-9]?[[:space:]]{1}((Mb)|(Gb)|(Kb))\)

Mais ça ne marchera que si ça suit cet ordre:
Parnthèse ouverte, au moins un chiffre, un point ou pas,un chiffre ou pas, un espace et Mb ou Gb ou Kb

Comme ça ça marchera aussi pour des résultats sans chiffre après la virgule...Et ça marchera aussi pour d'autres mesures....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 526
11 mars 2005 à 17:25
Ou encore ce que suggérait Maily:
\([^)]*\)


En gros: Parenthèses ouvertes, tout ce qui n'est pas une parenthèse fermée, parenthèse fermée...

(Ca marche aussi. C'est moins personnalisé et ça zappera toute parenthèses tant qu'elle ne contiendra pas elle même une parenthèse fermée.... (Donc éviter les parenthèses dans les parenthèses....)....)
0
bensezoug Messages postés 29 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 21 mars 2006 3
11 mars 2005 à 18:01
la plis longu fonctionne bien, la derniere a une erreur.
merci :-)
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
11 mars 2005 à 18:02
Normal, il manque une parenthèse:

(\([^)(]*\))
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 526
11 mars 2005 à 18:37
Ah? Chez moi ça marche sans besoin de rajouter des parenthèses....
0