Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Aide sur des regexp
#1
Bonsoir,

J'ai besoin d'aide conçernant deux regexp, la premiere sur une snotice de connexion et la deuxieme sur une snotice de gline:

Pour mon premier soucis, j'aimerai pouvoir traiter deux cas de chaine de caractère dans ma snotice de connexion :

Les connexions ssl :


Citation :*** Client connecting: fantomas (TestP@LFbn-1-2458-122.w90-78.abo.wanadoo.fr) [90.78.41.122] {clients} [secure ECSDE-RSA-AES256-DSM-SHA384]

Pour ce cas , j'ai ma regexp fonctionnel : 


Code :
\:\ (.*)\ \((.*?)@(.*?)\) \[(.*)\] \{(.*)\} \[([^ ]*)


Mais j'aimerai que dans cet même regexp, je puisse traiter aussi les connexions standard :

Citation :*** Client connecting: fantomas (TestP@LFbn-1-2458-122.w90-78.abo.wanadoo.fr) [90.78.41.122] {clients} 

Avec une connexion ssl c'est niquel mais quand j'ai une connexion standard ça me retourne que la variable $username n'existe pas.
J'ai aussi fais ma regexp pour les standards , mais j'aimerai savoir si c'est possible d'executer une regexp pour les deux cas de chaine de caractère, donc pour le standard, je me passe de $ip2 $type $secure

---

J'ai aussi un problème avec ma chaine de caractère des glines :
Quand ma chaine de caractère est (que ce soit permanent ou provisoire) :

Citation :*** Permanent G:Line added for *@197.207.149.154 on Thu Jun  8 23:21:11 2017 GMT (from Sully!Sully@testounet: test)

cela tourne niquel avec ma regexp :

Code :
(.*@.*?) on (.*?) \(from (.*?)!(.*?)@(.*?): (.*?)\)

Mais quand l'auteur du gline n'est pas sous la forme nick!ident@host mais juste "nick" ou "irc.testounet.fr" j'ai une erreur sur la variable $date n'existe pas.

J'éspère avoir été assez explicite :)

Thanks et have fun.
  Répondre
#2
Pour ton premier souci: as-tu réellement besoin des infos de cryptage ?
Code :
\:\ (.*)\ \((.*?)@(.*?)\) \[(.*)\] \{(.*)\}.*
Tu n'auras pas le champ secure, mais comme je ne pense pas qu'il apporte grand chose... De même que capturer le "client" final ne me semble pas bien utile.

Pour le second: tu imposes la présence du ! et du @, donc forcément ça bloque.
  Répondre
#3
(09/06/2017, 12:11)CrazyCat a écrit : Pour ton premier souci: as-tu réellement besoin des infos de cryptage ?
Code :
\:\ (.*)\ \((.*?)@(.*?)\) \[(.*)\] \{(.*)\}.*
Tu n'auras pas le champ secure, mais comme je ne pense pas qu'il apporte grand chose... De même que capturer le "client" final ne me semble pas bien utile.

Pour le second: tu imposes la présence du ! et du @, donc forcément ça bloque.

Justement j'ai besoin de la variable secure, le client et ip2 par contre ça me sert à rien.
  Répondre
#4
Alors explique complètement et en détail ce que tu veux. Encore une fois, ma boule de cristal est au SAV.

Et dis toi bien que tu ne pourras pas tout faire avec une regexp, tu risques d'avoir besoin d'analyser les retours.
  Répondre
#5
C'est bon, j'ai revu mon script, je fais deux regep et dans ma condition, si le premier cas de la regexp pour le ssl n'existe pas il traite celle du standard (du coup je traite deux regexp) mais ça fonctionne.
  Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  regexp protec 6 2,605 29/02/2016, 18:46
Dernier message: protec
  Souci de regexp snoopy 2 2,070 09/12/2009, 17:22
Dernier message: snoopy

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)