PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.javascript > Exp Reg - commence par le mot
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Exp Reg - commence par le mot

Réponse
 
LinkBack Outils de la discussion
Vieux 04/09/2007, 15h54   #1 (permalink)
Tony
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Exp Reg - commence par le mot

J'utilise la fonction search de javascript sur une liste de phrases et
je souhaite avoir au final uniquement les phrases qui NE commencent
PAS par "Bonjour".
Je boucle donc sur mes phrases et j'interroge chacune avec search
contenant l'expression régulière suivante :
^[^(Bonjour)]
Si cette recherche est positive c'est que la phrase ne commencent pas
par "Bonjour" et je la mets de coté.

Mon problème :
J'ai quelques phrases qui ne commencent pas par "Bonjour" qui sont
tout de même absente de la sélection finale ce qui veut dire que mon
expression régulière fonctionne mal.

Une idée sur la synthaxe ?
Ma problèmatique est un peu plus complexe que celle énoncée et je ne
peux pas passer par autre chose qu'une expression régulière.

Merci

  Réponse avec citation
Vieux 04/09/2007, 16h53   #2 (permalink)
Pierre Goiffon
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

Tony wrote:
> J'utilise la fonction search de javascript sur une liste de phrases et
> je souhaite avoir au final uniquement les phrases qui NE commencent
> PAS par "Bonjour".
> Je boucle donc sur mes phrases et j'interroge chacune avec search
> contenant l'expression régulière suivante :
> ^[^(Bonjour)]
> Si cette recherche est positive c'est que la phrase ne commencent pas
> par "Bonjour" et je la mets de coté.
>
> Mon problème :
> J'ai quelques phrases qui ne commencent pas par "Bonjour" qui sont
> tout de même absente de la sélection finale ce qui veut dire que mon
> expression régulière fonctionne mal.
>
> Une idée sur la synthaxe ?
> Ma problèmatique est un peu plus complexe que celle énoncée et je ne
> peux pas passer par autre chose qu'une expression régulière.


Vous ne donnez pas bcp d'exemple alors il n'est pas possible de vous
répondre. En attendant que vous donniez plus de détails, voyez du côté
de ce génial outil :
http://regulator.sourceforge.net
  Réponse avec citation
Vieux 04/09/2007, 17h13   #3 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

Le 04/09/2007 16:54, Tony a écrit :
> J'utilise la fonction search de javascript sur une liste de phrases et
> je souhaite avoir au final uniquement les phrases qui NE commencent
> PAS par "Bonjour".


Ok.

> Je boucle donc sur mes phrases et j'interroge chacune avec search
> contenant l'expression régulière suivante :
> ^[^(Bonjour)]


Pfff... il faudrait en faire une FAQ quelque part. Une expression
entre crochets [] matche un unique caractère, ainsi ^[^(Bonjour)] est
strictement équivalent à ^[^jnoru)B(] ou à [^Bnoujnouronn(BourBon)].

Pour ton besoin, du plus compliqué au plus simple, tu pourrais :
1) Utiliser les assertions négatives (personnellement je ne le
conseille pas).
2) Chercher /^Bonjour/ et considérer que le test est positif quand
la recherche est négative.
3) Prendre les 7 premiers caractères de ta chaîne et vérifier si
oui ou non le résultat est égal à "Bonjour".

> Une idée sur la synthaxe ?
> Ma problèmatique est un peu plus complexe que celle énoncée et je ne
> peux pas passer par autre chose qu'une expression régulière.


Donc la solution (3) est à éliminer, mais vois du côté de la solution
(2) avant de devoir passer à la (1).
  Réponse avec citation
Vieux 04/09/2007, 20h14   #4 (permalink)
Dr J R Stockton
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

En fr.comp.lang.javascript <1188917648.308839.93970@k79g2000hse.googlegr
oups.com>, Tue, 4 Sep 2007 07:54:08, Tony <barret.tony@gmail.com> a
ecrit :

>Mon problème :
>J'ai quelques phrases qui ne commencent pas par "Bonjour" qui sont
>tout de même absente de la sélection finale ce qui veut dire que mon
>expression régulière fonctionne mal.


Str = phrase

JeLeVeux = QuelqueRegExp.test(Str) && ! /^Bonjour/.test(Str)

Mais est-ce que "Bonjour" doit etre suivi par /\s/ ? /[ \.,;?!]/ ?

--
(c) John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v6.05 IE 6
news:comp.lang.javascript FAQ <URL:http://www.jibbering.com/faq/index.html>.
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
  Réponse avec citation
Vieux 05/09/2007, 02h25   #5 (permalink)
Mickaël Wolff
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

Dr J R Stockton a écrit :

> Mais est-ce que "Bonjour" doit etre suivi par /\s/ ? /[ \.,;?!]/ ?


Ce qui nous amène à : /^\bBonjour\b/.test('Bonjoir, tout le monde !')
En précisant que \b est le délimiteur de mots
(http://www.commentcamarche.net/javascript/jsregexp.php3).

J'aime les regex
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
  Réponse avec citation
Vieux 05/09/2007, 14h53   #6 (permalink)
Tony
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

On 4 sep, 18:13, Olivier Miakinen <om+n...@miakinen.net> wrote:
> Le 04/09/2007 16:54, Tony a écrit :
>
> > J'utilise la fonction search de javascript sur une liste de phrases et
> > je souhaite avoir au final uniquement les phrases qui NE commencent
> > PAS par "Bonjour".

>
> Ok.
>
> > Je boucle donc sur mes phrases et j'interroge chacune avec search
> > contenant l'expression régulière suivante :
> > ^[^(Bonjour)]

>
> Pfff... il faudrait en faire une FAQ quelque part. Une expression
> entre crochets [] matche un unique caractère, ainsi ^[^(Bonjour)] est
> strictement équivalent à ^[^jnoru)B(] ou à [^Bnoujnouronn(BourBon)].
>
> Pour ton besoin, du plus compliqué au plus simple, tu pourrais :
> 1) Utiliser les assertions négatives (personnellement je ne le
> conseille pas).
> 2) Chercher /^Bonjour/ et considérer que le test est positif quand
> la recherche est négative.
> 3) Prendre les 7 premiers caractères de ta chaîne et vérifier si
> oui ou non le résultat est égal à "Bonjour".
>
> > Une idée sur la synthaxe ?
> > Ma problèmatique est un peu plus complexe que celle énoncée et jene
> > peux pas passer par autre chose qu'une expression régulière.

>
> Donc la solution (3) est à éliminer, mais vois du côté de la solution
> (2) avant de devoir passer à la (1).


Très bonne analyse
Je souhaitais néanmoins pouvoir le faire directement en expressions
régulières car cela ne me parassait pas une demande si extraordinaire.
Les autres méthodes vont me demander un plus de changement dans mon
code. Cela étant les assertions négatives du type ?<! semble répondre
à mon besoin mais la synthaxe ne semble pas être reconnu en javascript
sous IE.

  Réponse avec citation
Vieux 06/09/2007, 11h20   #7 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Exp Reg - commence par le mot

Le 05/09/2007 15:53, Tony a écrit :
>
> Très bonne analyse


Merci, mais il n'était peut-être pas indispensable de tout citer...

> Je souhaitais néanmoins pouvoir le faire directement en expressions
> régulières car cela ne me parassait pas une demande si extraordinaire.
> Les autres méthodes vont me demander un plus de changement dans mon
> code.


Dans ce cas, peux-tu nous donner quelques lignes de ton code, pour que
l'on comprenne pourquoi « ! test » ne peut pas être mis à la place de
« test » ?

> Cela étant les assertions négatives du type ?<! semble répondre
> à mon besoin mais la syntaxe ne semble pas être reconnu en javascript
> sous IE.


Ah, j'ai déjà rencontré le problème : ça doit être encore la différence
entre syntaxe Perl et syntaxe PCRE. À moins que tu n'aies oublié les
parenthèses ?

Au passage, tu n'as pas besoin d'une assertion du type (?<!Bonjour) mais
plutôt du type (?!Bonjour).
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 03h22.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12272 seconds with 15 queries