Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2011, 11h29   #1
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Par défaut Parser une regExp

Bonjour everyone,

Je voulais définir la syntaxe des expressions régulieres à partir d'une expression régulière (vu que ce test n'existe pas dans JS) , donc si quelqu'un pourrait m'aider je lui serai très reconnaissant

Sinon comment peut on dire en definissant un RegEx que autant de [ que de ]

merci
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h34   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
il va d'abord me falloir un décodeur ...

Citation:
Je voulais définir la syntaxe des expressions régulieres à partir d'une expression régulière
rien compris

Citation:
Sinon comment peut on dire en definissant un RegEx que autant de [ que de ]
pareil ... rein capté
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h39   #3
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Je reprends

Pour écrire une expression on doit respecter certaines normes (on ne peut pas jeter comme ça des crochets ou des parenthèses ).Du coup, je veux définir une expression régulière permettant de valider une expression régulière entrée par un utilisateur

j’espère être clair sinon dites moi ou ça bloque
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h42   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
ben .toString() sur la reg et elle devient un string ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h43   #5
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Citation:
Envoyé par SpaceFrog Voir le message
ben .toString() sur la reg et elle devient un string ...
J'ai pas compris
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h46   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
un partout la balle au centre


Code :
1
2
3
4
var reg=new RegExp('lkjlkjlkj')
 
alert(reg.length)
alert(reg.toString().length)
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h53   #7
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Citation:
Envoyé par SpaceFrog Voir le message
un partout la balle au centre


Code :
1
2
3
4
var reg=new RegExp('lkjlkjlkj')
 
alert(reg.length)
alert(reg.toString().length)
et c'est quoi le lien avec ma question plutôt ma demande ?
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h54   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Ton but est bien de parser une regexp ???

pour la parser tu dois d'abord la caster en string
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h01   #9
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Citation:
Envoyé par SpaceFrog Voir le message
Ton but est bien de parser une regexp ???

pour la parser tu dois d'abord la caster en string
Pas du tout je veux pas la parser je veux qu'elle soit une expression régulière

lorsqu’on définie une expression régulière on n'a pas le droit d'écrire par exemple : regex= [a-z*$)
et ce que je veux c'est d'assurer ce test sur les regex en entrée comme ci dessus
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h18   #10
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
Autrement pour quoi cette expression ne satisfait pas la bonne syntaxe q'une regex ????


Code :
Expression = new RegExp("^[a-zA-Z0-9](\[(\([a-zA-Z0-9]*\))*\] )* {5,}$","g")
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h27   #11
Invité de passage
 
Inscription : mars 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 25
Points : 3
Points : 3
C'est bon j'ai résolue le problème :
Code :
1
2
3
4
5
6
7
8
9
 
try
{
    new RegExp(inputRegex);
}
catch (e)
{
   alert("Invalid regex");
}
Merci à tous.
issam_ovic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 12h28   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
arf tu m'a devancé

Code :
1
2
3
4
5
mafutureregexp='[lkjlkjlkj'
try{var reg=new RegExp(mafutureregexp)}
catch(err){
alert(err.description)
}
j'étais parti sur un parsage de regexp... Mais en y réfléchissant si c'est déja une regexp c'est qu'elle ne contient pas d'erreur
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 13h47   #13
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Citation:
Envoyé par issam_ovic Voir le message
Autrement pour quoi cette expression ne satisfait pas la bonne syntaxe q'une regex ????


Code :
Expression = new RegExp("^[a-zA-Z0-9](\[(\([a-zA-Z0-9]*\))*\] )* {5,}$","g")
le caractère "{" est aussi un token donc il faut lui aussi l'échapper si tu veux le rechercher.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 14h01   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Désolé de te contredire Loceka, mais le souci n'est pas là ...

Cette declaration de regExp prend en parmètre un string
le souci se trouve au niveau du \ pour qui'l soitr correctement interprété il faut le doubler

Code :
1
2
3
4
5
mafutureregexp="^[a-zA-Z0-9](\\[(\\([a-zA-Z0-9]*\\))*\\] )* {5,}$"
try{var reg=new RegExp(mafutureregexp)}
catch(err){
alert(err.description)
}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h22.


 
 
 
 
Partenaires

Hébergement Web