accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: [HS] Expression reguliere

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.javascript ] 

Retour : Accueil du site fr comp lang javascript   charte stats de ce groupe


  Sujet:   Re: [HS] Expression reguliere  
 De: stephanemoriaux.NoAd...@wanadoo.fr.invalid (SAM)
 Groupes: fr.comp.lang.javascript
 Organisation: les newsgroups par Orange
 Date: 14. Jul 2008, 01:07:22
 References: 1 2 3
Olivier Miakinen a écrit :
> Le 13/07/2008 17:49, SAM a écrit :
>>
>> function dorepnull(sujet) {
>> sujet = sujet.replace(/(?<=[[,])(null,)*null[],]/,
>>    function(match) {
>>      return '#' + match.length/5 + match.substring(match.length-1);
>>    });
>> return sujet;
>> }
>> alert(dorepnull($b));
>>
>> Erreur : invalid quantifier ?<=[[,])(null,)*null[],]
>> Code Source :
>> sujet = sujet.replace(/(?<=[[,])(null,)*null[],]/,
> 
> Rhazut, je pensais pourtant que les assertions arrières faisaient partie
> du tronc commun Perl/PCRE.

Si ça peut aider :
<http://developer.mozilla.org/fr/docs/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core:Objets_globaux:RegExp>
(sic)
les assertions avant,
décrites aux lignes (?=), (?!) et (?:) dans ce tableau
(/sic)

Où il semblerait que le "positive lookbehind assertion"
(je regarde devant par l'arrière)
doive (peut-être ?) s'écrire :
     (?:[\[,])  ou : (?:[[,])

Pour les esssplications de l'expression originelle
     /(?<=[[,])(null,)*null[],]/
voir : <4879c903$1@neottia.net>


> Autre problème, il ne comprend pas non plus [],] alors que [\],] marche bien.

Ha!? mon interrogation à ce sujet n'était donc pas si futile.


> Bref, j'ai testé ceci, et ça marche :
> 
> ------------------------------------------------------------------------
> function dorepnull(sujet) {
> return sujet.replace(/[[,](null,)*null[\],]/g,
>    function(match) {
>      return match.substring(0,1) + '#' + (match.length-1)/5
>             + match.substring(match.length-1);
>    });
> }
> ------------------------------------------------------------------------

Il apparait que :  /(?:[[,])(null,)*null[\],]/g
donne la même chose

> sujet = '[null,null,null,null,null]';
> alert(sujet + "\n" + dorepnull(sujet));
> sujet = '[a,null,b,null,null,c,null,d]';
> alert(sujet + "\n" + dorepnull(sujet));
> sujet = '[nullard,annulle,null,tronull,"null",null,nul]';
> alert(sujet + "\n" + dorepnull(sujet));
> ------------------------------------------------------------------------

-- 
sm


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats