Re: [HS] Un truc bizarre dans les regex ?

2015-11-16 Par sujet Sylvain L. Sauvage
Le lundi 16 novembre 2015, 15:26:33 Philippe Gras a écrit :
> Bonjour à toutes et à tous,

’jour,
 
>[…]
>   [\w-/]  ne marche pas,
> alors que [\w/-]  fonctionne bien…
> 
> Y a-t-il une bonne raison à ça ? Y a-t-il un problème avec
> mon clavier ?

  Dans '[]', '-' sert à indiquer un intervalle.
  Pour éviter ça, pour qu’il soit pris comme le caractère tiret, 
il faut le protéger ou le mettre en premier ou en dernier.

  Avec '[\w-/]', il essaie de créer un intervalle qui finit avec 
le caractère '/' mais ne commence nulle part ('\w' est lui-même 
un groupe de caractères, donc ne compte pas comme début 
d’intervalle et empêche '-' d’être le premier caractère).

  … pensé-je.

-- 
 Sylvain Sauvage



Re: [HS] Un truc bizarre dans les regex ?

2015-11-16 Par sujet Steve Fouchet
Bonjour,


Le 16/11/2015 15:26, Philippe Gras a écrit :
>   [\w-/]  ne marche pas,
avec cette ta syntaxe tu essais de créer l'intervalle (invalide) de
caractère \w à(-) / d'où l'erreur

> alors que [\w/-]  fonctionne bien…
contrairement à cette syntaxe qui autorise 3 caractères: '\w', '/', et '-'

Donc, je ne pense pas que cela soit un comportement bizarre des regex,
ni de ton clavier simplement une erreur de syntaxe.

++

Steve



signature.asc
Description: OpenPGP digital signature


[HS] Un truc bizarre dans les regex ?

2015-11-16 Par sujet Philippe Gras
Bonjour à toutes et à tous,

je suis en train de créer un nouveau filtre dans fail2ban,

j'ai trouvé un truc bizarre dans la structure de ma regex :

failregex =  - - \[.*?\] "POST /[\w-/]+\.php # donne

Unable to compile regular expression '(?:::f{4,6}:)?(?P[\w\-.^_]+) - - 
\[.*?\] "POST /[\w-\/]+\.php'
Cannot remove regular expression. Index 0 is not valid

Alors que :
failregex =  - - \[.*?\] "POST /[\w/-]+\.php # donne

Success, the total number of match is 54

[\w-/]  ne marche pas,
alors que   [\w/-]  fonctionne bien…

Y a-t-il une bonne raison à ça ? Y a-t-il un problème avec
mon clavier ?

Ph. Gras