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 Avertir
#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 Avertir
#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 Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté