[Perl] problème mise au point regexp

Eric DUVAL eduval at ligfy.fr
Lun 27 Mar 20:17:23 CEST 2017


Merci Yon, je teste ça demain.

Le 27/03/2017 à 19:56, Yon a écrit :
> 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
>


Plus d'informations sur la liste de diffusion Perl