FAQ PureBasicConsultez toutes les FAQ
Nombre d'auteurs : 7, nombre de questions : 68, dernière mise à jour : 3 janvier 2013 Ajouter une question
Bienvenue dans la F.A.Q. PureBasic !
Celle-ci va tenter de répondre aux questions les plus fréquemment posées sur le langage PureBasic et tous ses outils de programmation. Si elle n'a pas pour vocation de répondre à toutes les interrogations possibles, elle reste une bonne base de connaissances sur le PureBasic, et ne demande qu'à être enrichie par vos expériences personnelles.
Bien entendu, malgré toute l'attention qui a pu être portée à cette F.A.Q., des erreurs ont toujours pu s'y glisser. Prenez donc toutes les précautions qui s'imposent avant d'essayer un exemple.
Nous vous souhaitons une bonne lecture ! Et n'oubliez pas qu'en cas de problème, vous pourrez toujours poser votre question sur le forum PureBasic !
L'équipe PureBasic de Developpez.
CreateRegularExpression() définit une expression régulière.
ExtractRegularExpression() Extrait dans un tableau tous les emails valides d'une chaîne de caractères et renvoie le nombre d'emails extraits.
ReplaceRegularExpression() Remplace tous les emails valides d'une chaîne de caractères par une autre chaîne de caractères, dans cet exemple par 'EMAIL'.
Code purebasic : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ;PureBasic 4.20 If CreateRegularExpression(0, "[a-zA-Z0-9\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z]+") Dim resultat$(0) Debug "Extraire les adresses email d'un texte :" MaChaine.s = "un peu de texte |erix14@purebasic.fr pour tester (nico@developpez.com) encore du bla bla .'denis@purebasic.fr'. bla bla La@fin" Debug MaChaine a = ExtractRegularExpression(0, MaChaine, resultat$()) a$ = ReplaceRegularExpression(0, MaChaine, "EMAIL") For k=0 To a-1 Debug resultat$(k) Next Debug Str(a)+" adresses ont été trouvées." Debug a$ Else Debug RegularExpressionError() EndIf |
PureBasic est doté d'une bibliothèque RegularExpression qui utilise PCRE.
Les fonctions disponibles permettent de répondre simplement à un grand nombre de besoins, si toutefois ce n'est pas suffisant, il est toujours possible d'importer des fonctions, voici un code qui vous montre comment procéder.
Vous n'avez rien à télécharger, la bibliothèque est présente dans PureBasic.
Code purebasic : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ;hallodri 26 juillet 2008 ImportC "" pcre_exec(*pcre,*extra,subject.s,length,startoffset,options,*ovector,ovecsize) pcre_get_substring(subject.s,*ovector,stringcount,stringnumber,stringptr.l) pcre_free_substring(stringptr.l) EndImport pattern.s = "a(\d+)c" subject.s = "1a123c2" len = Len(subject) SubString.l = 0 regex = CreateRegularExpression(0, pattern) If regex Dim ov(30) While pcre_exec(PeekL(regex),0,subject,len,ov(1),0,@ov(),30) > 0 Debug PeekS(@subject + ov(0),ov(1)-ov(0)) pcre_get_substring(subject,@ov(),2,1,@SubString) Debug PeekS(SubString) pcre_free_substring(@SubString) Wend EndIf |
Code purebasic : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ;fizban 27 juillet 2008 ImportC "" pcre_exec(*pcre,*extra,subject.s,length,startoffset,options,*ovector,ovecsize) EndImport pattern.s = "a(\d+)c" subject.s = "1a123c2" len = Len(subject) SubString.l = 0 regex = CreateRegularExpression(0, pattern) If regex Dim ov(30) While pcre_exec(PeekL(regex),0,subject,len,ov(1),0,@ov(),30) > 0 Debug PeekS(@subject + ov(0),ov(1)-ov(0)) Debug Mid(subject, ov(2)+1,ov(3) - ov(2)) Wend EndIf |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.