Tom's Guide > Forum > Programmation > Générateur de REGEX ?
Générateur de REGEX ? - Programmation
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

salut à tous IDN,
je voulais savoir si l'un d'entre vous connaissez un générateur de regex ?
Merci d'avance,
fclm

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
- 0 +

Un générateur de REGEX ?
Est-ce que tu pourrais développer un peu ? Dans quel but ? Il doit pouvoir faire quoi ?

Répondre à OmaR
- 0 +

en gros tu rentres dans un champ le "texte" que tu veux recuperer, et ensuite le generateur de genere une REGEX valide pour pouvoir recuperer le "texte" donné ...
J'ai pas envie de réinventer la roue donc si ca existe je veux bien, sinon je suis partis pour develloper .....

Répondre à fclm

C'est pas mal comme idée, mais ce sera pas optimiser...

A moin de faire un truc plus complexe que de le faire soit même ^^

Répondre à St3fff
- 0 +

Le problème, c'est qu'il peut y en avoir des centaines de milliers des REGEXP valides pour un texte donné.

Exemple, je donne le mot "bonjour".
Je pourrais avoir comme REGEXP :
(.*)+
bon(.*)+
(.*)+jour

etc...

Répondre à OmaR
- 0 +

je vais essayer de develloper le generateur ....
Un mec pas super fort en REGEX qui fait un generateur de REGEX ....

Répondre à fclm

mais tu peux pas faire ça.

Citation :

Le problème, c'est qu'il peut y en avoir des centaines de milliers des REGEXP valides pour un texte donné

C'est pour ça qu'il existe des librairies de regex et non des générateurs.

http://regexlib.com/

------------------------------ Programmeur n.m : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Répondre à MoOx_t
- 0 +

le probleme les librairies de regex quand c'est pour des trucs "habituel" ca gere mais sinon si c'est un truc super spécifique c'est mort ...

Répondre à fclm

Hum ca peut etre intéressant ça tient ^^ je vais essayer d'en fairre un aussi !!!!

------------------------------ Découvrer des vidéos et des images de sports extrêmes (ski, monocycle, vtt, etc...)
Répondre à Kymic@IDN

Vous fumez du crack les gas. Le jour où vous avez fait un générateur de regex que je sais pas comment tu va générer à partir de rien ben je t'appelle PATRON.

Bonne chance, car t'en a bien besoin.

------------------------------ Programmeur n.m : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Répondre à MoOx_t

ça à autant de sens que de dire, comment faire un générateur de mots
->soit ça génère des trucs aléatoires donc peu d'intérêts (sauf pour des mots de passe)
->soit ça s'appuie sur un dictionnaire, donc ça ne gère que des cas prédéfinis, dans ce cas on appelle ça une librairie

------------------------------ Pub/piratage/spam/villes virtuelles/...-->BAN, je ne cherche pas à comprendre
Editer vos titres (pas de titre en majuscule, [RESOLU] quand c'est le cas)
Tutos IDN
Répondre à maith

Pourquoi vous dites que c'est impossible ?

Je penses faire un système comme ceci :

L'utilisateur saisie plusieurs exemples : texte source et le résultat qu'il attend , et en fonction de ça trouver la regex qui vérifie la condition...

Voila je vais essayer de me pencher dessus ... J'ai déja commencer à y réfléchire et je dois dire que c'est pas tellement évident , mais je suis persuadé que ça reste faisable ....

------------------------------ Découvrer des vidéos et des images de sports extrêmes (ski, monocycle, vtt, etc...)
Répondre à Kymic@IDN

Impossible parce que le langage [Sigma] à définir (une expression régulière est un langage, au sens mathématique), ainsi que son alphabet (toujours sens mathématiques) ne peuvent pas être définis à partir d'un simple échantillon de mots [Sigma*] (car ce n'est pas lui qui dénifit le langage).
[Sigma] est l'ensemble de tous les mots de ton langage. Ton échantillon de mots [Sigma*] est inclus dans [Sigma], mais inversement pas forcément. Donc, à partir de [Sigma*], tu ne peux pas définir [Sigma]. En clair, à partir de ton échantillon de mot, tu ne peux pas définir une expression régulière.

 

En pratique
- soit tu restreins trop le langage, ([Sigma généré] proche de [Sigma*]) donc il existe un mot X appartement à [Sigma] et qui n'appartient pas à [Sigma généré]
- soit tu ne restreins pas assez le langage, alors il existe un mot X appartenant à [Sigma généré] qui n'appartient pas à [Sigma]
- soit tu as beaucoup de chance (chance en réalité corrélée par un contexte).

 

Pour simplifier, lorsque tu vas faire ta recherche:
- soit tu restreins trop le langage, et tu oublies des mots valides dans ton expression
- soit tu ne te restreins pas assez, et tu valides des mots qui ne devraient pas l'être
- soit tu trouves un contexte particulier qui te permet d'avoir un peu chance (mais sans garantie mathématique que le résultat est correct, au contraire).

 


Message édité par CRicky le 16-08-2007 à 20:00:48
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

En bref, oublie ton générateur de regex que s'il était faisable il serait déjà fait...

Y'a pleins d'autres trucs à programmer en plus, comme un générateur de méga insultes super longue à partir d'un dictionnaire (ce n'est qu'un exemple...)

------------------------------ Programmeur n.m : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Répondre à MoOx_t

MoOx_t a écrit :


Y'a pleins d'autres trucs à programmer en plus, comme un générateur de méga insultes super longue à partir d'un dictionnaire (ce n'est qu'un exemple...)



Tu te crois drole ? :sleep:

PS : j'ai laché l'affaire du générateur de regex ^^

------------------------------ Découvrer des vidéos et des images de sports extrêmes (ski, monocycle, vtt, etc...)
Répondre à Kymic@IDN
- 0 +

y'a un autre truc qu'un generateur, en gros tu demandes la chaine a "regexer", et tu poses plein de questions, et ensuite tu peux construire la REGEX, c'est plus trop un générateur mais un aide-REGEX ....
Ceux que ca tente ^^

Répondre à fclm

Ouai c'est un peu sur quoi j'étais parti , mais c grave long et j'ai pas trop le temps pr ce genre de gadget ^^

------------------------------ Découvrer des vidéos et des images de sports extrêmes (ski, monocycle, vtt, etc...)
Répondre à Kymic@IDN
- 0 +

c'est vrai que c'est super long, mais apres ca facilite la vie de tout le monde ^^

Répondre à fclm

ça ne facilite pas tout le monde parce que ce n'est plus générique, c'est uniquement dépendant de ton contexte.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ahh ahh ca me fait rire :)
Un ordinateur c'est con ..
Et pour comprendre mieux ce à quoi tu veux t'attaquer, sans le jargon mathématique) considère l'exemple suivant :

Je souhaite capturer les salutations :
--> Bonjour !
--> Bonjour machin !
--> Salut.
--> Hi !!!!

Maintenant pour se mettre au niveau de l'ordinateur et sentir la difficulté,
remplace chaque caractère par son suivant dans l'alphabet (== alphabet ASCII)
T'obtiens des suites incompréhensibles de caractères ...
Comment veux tu deviner ou se trouve les zones ou des caractères (et lesquels ?) qui peuvent se trouver en quantité illimité ?
En gros voici un autre probleme tel que l'ordinaeur le reçoit (la flemme de faire ce que j'ai dit XD avec mon premier exemple) :

--> efe grgre ga !
--> gr ezm grr
--> gr za glprr

Amuses toi pour essayer de trouver du sens ... !
Petite remarque : A une autre echelle, si on considérait chaque mot comme une lettre on pourrait faire ce que tu veux pour les langues étrangère.. Ca serait chouette un programme qui peut deviner quel suite mots on a le droit de mettre entre deux mots :D !

Sérieusement, allez lire la doc des regexp ...
C'est franchement pas la mort à comprendre.
Et la nature vous à doté d'un cerveau, utilisez le !
Bande de flemmard :ppp (moi le premier)

Après je comprend que certaines regexps ou parties de regexp soient difficiles à trouver.
Exemple :
Trouver la regexp qui cherche le texte entre "<div " et "</div>" de façon non gourmande.
"Non gourmande" signifie qui va trouver deux résultats pour "<div>foo</div><div>bar</div>" et non pas un seul !
La partie qui cherche la première fermeture du </div> n'est pas triviale. Il faut donc faire attention.
Une source que j'ai écrite qui permet de générer ce morceau assez ennuyeux :
http://www.cppfrance.com/codes/GEN [...] 44606.aspx
(google generer regexp manger --> 1er lien)


PS : J'utilise un nom d'utilisateur accessible par tout le monde !!!
C'est c****-c****** d'avoir à s'enregistrer sur tous les sites de nos jours ...
Tout ça pour dire que ce n'est pas forcément "moi" qui répondrai :)


Message édité par colonne le 22-12-2007 à 21:43:38
Répondre à colonne

bonjour tout le monde

 

allor je post un message concernant les REGEX
jexplique mon probleme

 

jai trouve sur le net un logiciel pour extraire les adresse emails d'un ficher texte ( biensur avec la source )
ce logiciel et codé en C#

 

donc dans la source il y a une partie REGEX pour donné les ordre au logiciel pour extraire les adresse !

 

mais moi je veut que le logiciel me sorte pas les adresse emails mais certain code !
sous cette forme : M4312g56

 

- commence toujour par un M
- a toujour 8 caractaire en tous
- a toujour 6 chiffre et 1 lettre sans compté le M
- la lettre ici le g mais ki peut etre nimportekel lettre de lalphabet peut ce trouver nimporte ou dans le code APRE LE M
ex : M34g5434 , M678545g

 

donc je voudrais avoir lexpression reguliere pour l'introduire dans la source de mon logiciel a la place de lexpression pour extraire les adresse email :)
sa fait 1 semaine que je me casse la tete decu et je ne trouve pas si quelqun pourrai maider sa serai sympa :)

 

merci bocoup

 

a bientot mon msn : ***@hotmail.fr

 

cordialement

 

Modération : j'ai supprimé ton adresse mail


Message édité par OmaR le 05-07-2008 à 21:11:40
Répondre à eleganceblack
- 0 +

M([0-9][0-9][0-9][0-9][0-9][0-9][a-z]|[0-9][0-9][0-9][0-9][0-9][a-z][0-9]|[0-9][0-9][0-9][0-9][a-z][0-9][0-9]|[0-9][0-9][0-9][a-z][0-9][0-9][0-9]|[0-9][0-9][a-z][0-9][0-9][0-9][0-9]|[0-9][a-z][0-9][0-9][0-9][0-9][0-9]|[a-z][0-9][0-9][0-9][0-9][0-9][0-9])

Répondre à OmaR

merci omar ca marche nikel

peut tu me donner lexpression pour extraire ces codes la maintenant

32gf2343

-toujour 8 caractaire
-6 chifre ( il peuvent etre nimporte ou dans le code
- toujour 2 letre ki peut etre aussi nimporte ou dans le code


voila merci de me repondre omar

Répondre à eleganceblack

A ta place, je validerais plusieurs expressions régulières (une par point en fait).

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Tom's Guide > Forum > Programmation > Générateur de REGEX ?
Aller à :

Il y a 1969 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens