begin process at 2008 07 19 09:03:38
1 212 728 membres
67 nouveaux aujourd'hui
14 165 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

REGEXP EN C SANS LIBRAIRIES


Information sur la source

Catégorie :Chaîne de caractères Classé sous : regexp, automate, rationnel Niveau : Initié Date de création : 01/06/2007 Vu / téléchargé: 3 342 / 165

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

C'est un code que je suis en train de completer en fonction de mes besoins sur des regexp, je le modifierais au fur et a mesure. Ce que ca fait, c'est que ca lit une regexp, ca la transforme en automate, et ensuite ca regarde si une chaine de caracteres correspond a cette regexp ou pas (en suivant l'automate). Il n'y a bien sur pas toutes les possibilites des regexp, mais ca va venir au fur et a mesure. C'est rapide pour le moment car je n'ai pas envie d'implementer d'operateurs gloutons (et faire de mon automate un automate non deterministe).
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Matt67 le 02/06/2007 19:15:54

    Bonjour,

    voici mon expression régulière "a"
    voici ma chaine "abcd" et ben, ça match pas ???

  • signaler à un administrateur
    Commentaire de The_Guardian le 02/06/2007 20:36:09

    Salut,


    tout est dans le main deja, mais si tu veux tester sur l'expression reguliere a, si la chaine abcd correspond tu fais struct regexp * r = regexpCreate("a"); if (regexpStartMatches(r, "abcd")) { ... } else { ... }
    la fonction a disposition pour l'instant matche uniquement la chaine complete et il suffirait de faire un for pour pas commencer au debut et ca s'arrete a la fin, donc en fait tu voudrais plutot dire un truc du genre
    a.*
    ou plus vraisemblablement
    a[a-z]*
    la, tu trouverais a dans abcd
    a toi de tester ca maintenant.

    ===

  • signaler à un administrateur
    Commentaire de Matt67 le 02/06/2007 21:45:42

    Bonsoir,

    struct regexp * r = regexpCreate("a"); if (regexpStartMatches(r, "abcd")) { ... } else { ... }

    c'est ce que j'ai fait et ben, ça match pas ???

    En fait, j'utilise la lib pcre pour mes regexp et je voulais tester ton programme, juste pour voir ce que cela donnais.

    Bertrand.

  • signaler à un administrateur
    Commentaire de The_Guardian le 02/06/2007 22:05:03

    RE

    l'expression reguliere "a" ne matche que la chaine "a"
    car le match actuellement porte du debut a la fin de la chaine et si tu veux matcher a, precise que le reste n'importe peu avec a[a-z]* par exemple et plus tard avec a.*

    Emma

  • signaler à un administrateur
    Commentaire de GIRATINA le 03/01/2008 16:27:24 10/10

    merci c'est excellent!!!

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS