Communauté Eggdrop
Aide sur des regexp - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Aide sur des regexp (/showthread.php?tid=1688)



Aide sur des regexp - Epsilon - 09/06/2017

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 Smile

Thanks et have fun.


RE: Aide sur des regexp - CrazyCat - 09/06/2017

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.


RE: Aide sur des regexp - Epsilon - 09/06/2017

(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.


RE: Aide sur des regexp - CrazyCat - 09/06/2017

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.


RE: Aide sur des regexp - Epsilon - 09/06/2017

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.