Page 1 sur 1

Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 16:16
par Bosse.cie
Bonjour,

Un petit problème d'expression régulière qui me prend la tête; et je voudrais tout de même pas me gâcher le réveillon pour ça (ben quoi ?).

Il y a deux façons de déclarer et utiliser une expression régulière :
[javascript]
var expr =new RegExp("^\s+|\s+$", "g");
valeur= valeur.replace(expr, "");
[/javascript]
[javascript]
valeur =valeur.replace(/^\s+|\s+$/g, "");
[/javascript]
Il s'agit ici d'une fonction trim.

Pour moi, il s'agit de la même dans les deux cas. Je ne vois aucune différence, si ce n'est que la première utilise les guillemets, alors que la seconde les slashs.

La première ne fonctionne désespérément pas, alors que la seconde oui.

J'ai cherché de partout, sur internet, bouquins divers, etc... Les exemples d'expressions régulières (pas sur cette fonction) utilisent indistinctement l'une ou l'autre des formulations.

Alors si quelqu'un pouvait m'expliquer ce qui cloche dans la première formulation (et que je comprenne, faut pas déconner), je lui chanterai "petit papa Noël" avec entrain.

Merci

Michel

Re: Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 16:55
par tof73
//to get \s in regular expression, pass \\s to RegExp constructor!
donc
var expr =new RegExp("^\\s+|\\s+$", "g");

Re: Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 17:10
par Bosse.cie
Ça concerne juste "\s" ou tous les caractères échappés ?

En plus, je n'ai trouvé cette règle nulle part (internet et bouquins); en français veux-je dire; l'anglais étant un pour moi un truc bizarre qui fait du larsen dans l'oreille.

Re: Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 17:18
par tof73
pour tous

une page en français qui l'indique :
http://openclassrooms.com/courses/tout- ... t-regexp-1

Re: Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 17:39
par Bosse.cie
Si je comprends bien, on met double anti-slash, seulement si le caractère qui suit l'anti-slash a une autre signification dans les expressions régulières; comme ".", "d", "s" etc...

C'est ça ?

Ce qui signifie qu'on a plutôt intérêt à utiliser la version sans guillemet ? ...

Et ce qui signifie aussi que toutes les expressions régulières que j'ai pu utiliser jusque là et qui fonctionnent sont un coup de chance.

Re: Expression régulière : deux formulations possibles

Posté : 24 déc. 2014, 18:05
par Bosse.cie
@tof73 :
Petit papa Noël tchikaboum, tchikaboum
Quand tu descendras du ciel tchikaboum, boumboum
Avec tes jouets par milliers boumboum
N'oublie pas mon petit soulier tchakatchakatchakacha

Mais avant de partir tchikaboum, tchikaboum
Il faudra bien te couvrir tchikaboum, boumboum
Dehors tu vas avoir si froid boumboum
C'est un peu à cause de moi tchakatchakatchakacha

Il me tarde tant que le jour se lève tchikaboum, tchikaboum
Pour voir si tu m'as apporté tchikaboum, boumboum
Tous les beaux joujoux que je vois en rêve boumboum
et que je t'ai commandé tchakatchakatchakacha

Solo percussions :
(Tchkatcha tchakatcha tchakatcha tchatcha
Tchkatcha tchakatcha tchakatcha tchatcha
Tchkatcha tchakatcha tchakatcha plomplom)

Petit papa Noël tchikaboum, tchikaboum
Quand tu descendras du ciel tchikaboum, boumboum
Avec tes jouets par milliers boumboum
N'oublie pas mon petit soulier pompompom