Rechercher : dans
Par :

Javascript et regexp

Dernière réponse le 18 oct 2007 à 22:51:50 nEm3sis, le 14 oct 2007 à 16:55:46 
 Signaler ce message aux modérateurs

Bonjour,
en javascript j'utilise cette fonction

function calc(mot,str)
{
var c = /motrecherché \(\s([\d.]{1,})/;
c.exec(str);
if(RegExp.$1) return "motrecherché : "+RegExp.$1+"\n"; else return ""
}

cette fonction fonctionne
mais j'aimerai utiliser la variable mot (un des paramettre de la fonction) a la place de la chaine "motrecherché"
est-ce possible ? si oui : comment ?

merci de votre aide

Configuration: Windows XP
Firefox 2.0.0.7

Meilleures réponses pour « javascript et regexp » dans :
Javascript - L'objet RegExp Voir Les particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...
Javascript - Modifier la hauteur (height) d'un élément HTML VoirPour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height". Pour cela vous pouvez y faire référence de la manière suivante : Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il...
Javascript - Manipulation des contrôles clavier VoirManipulation des contrôles clavier Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript. Cela vous permettra de contrôler/attribuer les/des comportements particuliers à...
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...

1

Dalida, le 14 oct 2007 à 18:25:02

Salut,

as-tu essayé :

function calc(mot,str)
{
var c = /mot \(\s([\d.]{1,})/;
c.exec(str);
if(RegExp.$1) return "motrecherché : "+RegExp.$1+"\n"; else return ""
}

??
[ Mathieu ]
"Les jeunes c'est l'insécurité
il faudrait tous les enfermer!" BxN 1985

Répondre à Dalida

2

TLa, le 14 oct 2007 à 20:52:39

Salut,

Une expression reguliere ca se construit aussi avec :
new RegExp("pattern"[, "flags"]) ( voir http://synchro.net/docs/js/ref/regexp.html )

function calc(mot,str)
{
var c = new RegExp( mot + " \(\s([\d.]{1,})" );
var r=c.exec(str);
if(r[1]) return mot + " : "+r[1]+"\n"; else return ""
}

Répondre à TLa

3

nEm3sis, le 18 oct 2007 à 19:36:16

@Dalida oui j'ai essayé ca mais ca mrend le mot "mot" comme une chaine et non comme une variable

@TLa cette fonction bug je ne sais pas pourquoi ...

Répondre à nEm3sis

4

Dalida, le 18 oct 2007 à 21:22:34

Salut,

et :

function calc(mot, str)
{
var c = "/"+mot+"\(\s([\d.]{1,})/";
c.exec(str);
if(RegExp.$1) return "motrecherché : "+RegExp.$1+"\n"; else return ""
}


[ Mathieu ]
"Les jeunes c'est l'insécurité
il faudrait tous les enfermer!" BxN 1985

Répondre à Dalida

5

nEm3sis, le 18 oct 2007 à 21:47:27

Dsl dalida ceci ne peu pas fonctionner car c n'est pas une chaine or dans ce que tu ecris c en est une

merci quand meme d'essayer :)

Répondre à nEm3sis

6

Dalida, le 18 oct 2007 à 22:29:11

Ah vi, suis c*n moi !

[ Mathieu ]

"Les jeunes c'est l'insécurité
il faudrait tous les enfermer!" BxN 1985

Répondre à Dalida

7

Dalida, le 18 oct 2007 à 22:38:34

Re,

la solution est celle de TLa.
une confirmation trouvée chez developpez.

[ Mathieu ]

"Les jeunes c'est l'insécurité
il faudrait tous les enfermer!" BxN 1985

Répondre à Dalida

8

nEm3sis, le 18 oct 2007 à 22:44:31

Apres plusieurs essai j'ai enfin trouvé

il suffisai de modifier un peu la fonction que TLa m'a donné en mettant des double \\

function calc(mot,str)
{
var c = new RegExp( mot + " \\(\\s([\\d.]{1,})" );
var r=c.exec(str);
if(r[1]) return mot + " : "+r[1]+"\n"; else return ""
}

merci a votre aide et surtout dalida qui a bien participé


au fait comment on met le sujet en résolut ici ?

Répondre à nEm3sis

9

Dalida, le 18 oct 2007 à 22:46:32

Il faut être inscrit pour pouvoir "résoudre".
je te le coche.

bon courage pour la suite de ton code !

[ Mathieu ]

"Les jeunes c'est l'insécurité
il faudrait tous les enfermer!" BxN 1985

Répondre à Dalida

10

 nEm3sis, le 18 oct 2007 à 22:51:50

J'ai un compte ici mais comme on peut poster sans se connecter je ne me connecte pas

en me connectant j'ai tout de suite vu comment faire
*boulet inside*

merci

Répondre à nEm3sis