Discussion: regexp, match
Afficher un message
Vieux 24/09/2007, 03h31   #4
Mickaël Wolff
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: regexp, match

Mihamina (R12y) Rakotomandimby a écrit :
> Si je fait
> var expression = /[^a-z]/i;
> au lieu de
> var expression = /[^a-z]/gi;
>
> Alors ça fonctionne.
> Maintenant, je cherche à comprendre...


C'est parce que ta regexp ne contient pas les notions de début et de
fin d'expression, et qu'avec le taf global, il trouvait une portion de
la chaine testée qui correspondait à la regexp.

Pour être certain de tester toute la chaine, il faut indiquer que la
regexp contiennent les séquences de début (^) et de fin ($) de chaine :

/^[^a-z]$/i

/^[^a-z]$/i.exec('ddd') == null
/^[^a-z]$/i.exec('ddd ') == null
/^[^a-z]$/i.exec('ddd d') == null
/^[^a-z]$/i.exec(' ').length == 1

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
  Réponse avec citation
 
Page generated in 0,04960 seconds with 9 queries