[Perl] problème mise au point regexp
Yon
anaseto at bardinflor.perso.aquilenet.fr
Lun 27 Mar 19:56:49 CEST 2017
On Mon, Mar 27, 2017 at 07:39:32PM +0200, Eric DUVAL wrote:
> Bonjour,
>
> Je sors un peu du contexte purement perl, j'en suis désolé, perl est mon ami
> pour la mise au point de cette regexp par contre le moteur pcre de syslog-ng
> ne l'a pas été! ;-)
>
> Le moteur PCRE dans syslog-ng ne réagit de la même façon que PERL.
> Du coup impossible de mettre au point correctement la règle.
Ah, peut-être que les regexps syslog-ng ne connaissent pas les
assertions "look-around". Peut-être que ceci (à adaptations près, je
sais pas comment sont les regexp syslog-ng) marcherait :
s{([?&]) ([^?&=]+) = ([^&"]+)}{$1$2=xxx}xg
l'inconvénient c'est que j'ai peur qu'il y ait plus de chances que ça
modifie potentielement des trucs en trop. Peut-être qu'il vaut mieux
quelques précautions de plus dans les classes de charactères en
interdisant les espaces :
s{([?&]) ([^?&=\s]+) = ([^&"\s]+)}{$1$2=xxx}xg
--
Yon
Plus d'informations sur la liste de diffusion Perl