Page 1 sur 2

Expression régulière

Publié : mar. 01/janv./2008 20:17
par comtois
Rien de transcendant dans ce code c'est juste pour indiquer des liens qui vont bien, et l'utilisation des Classes de caractères POSIX (par exemple [:digit:]).

Code : Tout sélectionner

;First start : http://en.wikipedia.org/wiki/Regular_expression
;PB utilise http://www.pcre.org/


;Pattern$="[abc]" ; a, b or c
;Pattern$="[[:digit:]]" ; Chiffre
Pattern$="[c].[a]" ;  c.a (. est un a joker)

If CreateRegularExpression(0, Pattern$)

  Dim resultat$(0)
   
  a = ExtractRegularExpression(0, "abc 6 cqab cra", resultat$())
 
  For k=0 To a-1
    MessageRequester(Str(k+1) + " / " + Str(a), "Pattern = " + Pattern$ + #LFCR$ + "Résultat = " + Resultat$(k))
  Next

Else
  MessageRequester("Erreur", RegularExpressionError())
EndIf

Publié : mar. 01/janv./2008 20:58
par Kwai chang caine
Dis voir, j'en profite que tu mette un code avec cette fonction, pour te demander si c'est normal que l'aide n'en parle pas ???

Ou bien j'ai encore merdé quelque part :roll:

Publié : mar. 01/janv./2008 21:07
par comtois
Oui c'est normal , c'est une beta, l'aide n'est pas à jour.

Publié : mar. 01/janv./2008 21:20
par Kwai chang caine
D'accord, je ne savais pas que l'aide se mettait à jour qu'a la version finale :roll:
D'ailleurs on se demande ce que je sais :oops:
J'ai réécrasé le CHM trois fois en croyant que l'updater ne l'avais pas fait :lol: :lol:
Hi hi, quelle burne ce KCC, mes amis quelle burne :lol:

Il faut dire que c'est la premiere fois que je me lance dans le BETA.
Et pourtant c'est vraiment une version qui me va bien comme nom :D

Dab, quand tout le monde avait la 4.10, j'etais encore en 4.00 :oops:
Donc je progresse, je progresse ...

Mais alors comment fait tu pour connaitre la syntaxe, juste avec les exemples donnés avec l'update ???

Publié : mar. 01/janv./2008 21:22
par comtois
les exemples et le fichier readme.txt :)

Publié : mar. 01/janv./2008 21:28
par Chris
SUPER!!!
On a les expressions régulières!!! :D



Mais au fait.... C'est quoi, les expressions régulières? :?

Publié : mar. 01/janv./2008 21:33
par Kwai chang caine
SUPER!!!
On a les expressions régulières!!!
Mais au fait.... C'est quoi, les expressions régulières?

Alors la CHRIS tu m'a fait beaucoup rire :lol: :lol:

Mais tu as raison, j'osais pas demander :oops:
Je croyais que tout le monde le savait sauf moi :lol:
C'est pour ça, j'allais essayer de comprendre comme un benet tout seul dans mon coin :?

Publié : sam. 05/janv./2008 14:33
par ATHOW
C'est super pratique pour extraire du texte, pour parser... expliquer serait trop long, mais en regardant les exemples, tu comprendras vite !
PB deviens vraiment de plus en plus complet !

Publié : sam. 05/janv./2008 15:08
par Chris
ATHOW a écrit :C'est super pratique pour extraire du texte, pour parser... expliquer serait trop long, mais en regardant les exemples, tu comprendras vite !
Ben me v'la bien renseigné, avec ça! :(

Publié : sam. 05/janv./2008 20:38
par comtois
je ne pourrai rien t'apprendre de plus que l'article sur wikipédia, c'est là que j'ai pris connaissance des expressions régulières.

Extrait
Initialement créées pour décrire des langages formels, les expressions rationnelles sont naturellement utilisées dans l'interprétation des langages informatiques ; compilateurs et interprètes sont ainsi basés dessus.

La puissance des expressions rationnelles pour la simple manipulation du texte les rend incontournables dans les éditeurs de texte, notamment ceux en mode texte ne disposant pas d'environnement graphique. Pour cette même raison, un grand nombres d'utilitaires Unix savent utiliser nativement les expressions rationnelles. Parmi eux, les shells UNIX (bash, ksh, csh, sh, etc.) utilisent ce genre d’expressions dans leurs recherches de fichiers. D'autres utilitaires (grep, sed), à la manière des éditeurs de texte, utilisent ces expressions pour parcourir de façon automatique un document à la recherche de morceaux de texte compatibles avec le motif de recherche, et éventuellement effectuer un ajout, une substitution ou une suppression.

Les expressions rationnelles ont vu un nouveau champs d'application avec le développement d'Internet, et la diffusion de code malveillant ou de messages pourriels. Des filtres et des robots utilisant ces expressions sont utilisés pour détecter les éléments potentiellement nuisibles.
Comme je découvre aussi je ne vais pas te faire un cours magistral, je commence tout juste à faire joujou avec.

Très pratique pour remplacer des morceaux dans une chaine en utilisant des jockers. les possibilités sont vastes, ça va prendre du temps pour les explorer.

Code : Tout sélectionner

Pattern$="p.s"

Texte$="pas pis pot"

If CreateRegularExpression(0, Pattern$)
  N$=ReplaceRegularExpression(0, Texte$, "oui")
  MessageRequester("","Pattern = " + Pattern$ + #LFCR$ + "Texte initial =" + Texte$ + #LFCR$ + "Texte après application du filtre = " + N$,0)
Else
  MessageRequester("Error", RegularExpressionError())
EndIf

Publié : dim. 06/janv./2008 0:42
par comtois
pour filtrer des fichiers, des données, ça doit être cool , mais boudiou que c'est pas simple la syntaxe !!

Je commence par des trucs simples, je compliquerai à l'occasion.

A étudier

Code : Tout sélectionner

;Motif$=".txt$" ; tout ce qui se termine par txt
;Motif$="^fichier" ; Tout ce qui commence par fichier
Motif$="\d" ;  tout caractère décimal 

Dim T$(10)
T$(0)="fichierpfscool.txt"
T$(1)="super fichier pcs "
T$(2)="autre 145 fichier.txt"
T$(3)="txtimachin chose.doc"


If CreateRegularExpression(0, Motif$)
  For i=0 To 3
    If MatchRegularExpression(0,T$(i))
      Debug t$(i)
    EndIf
  Next i

Else
  MessageRequester("Error", RegularExpressionError())
EndIf

Publié : dim. 06/janv./2008 12:34
par Kwai chang caine
Ouiai bah je commence à comprendre un peu :(
En fait c'est un genre de findstring ....

Pour l'instant je ne vois pas l'interet, mais au fur et à mesure peut etre que je comprendrais.
Si FRED l'a inclus c'est que ça doit etre important dans le monde de l'informatique :roll:

Publié : dim. 06/janv./2008 12:50
par Backup
en principe cela doit correspondre aux fameux "Jocker" utiliser dans les recherches sur les fichiers, ou un mot dans un text

du style

"abreuv???" pour rechercher tout les mots ou fichiers, commençant par "abreuv" et ayant 3 caractères autre possible ,comme "abreuvoir"

ou bien "abreuv*" l'etoile remplaçant ici tout caractères possible;

cela renverrai "abreuvoir","abreuver","abreuvé","abreuvée"

bien sur dans une recherche de fichier le fait de mettre

ar* devrai renvoyer tout les fichiers commençant par "ar"

style "arbre" ,"artiste" etc ...

Le falcon 030 proposait ce type de recherche de fichiers dans les disques dur
bien plus rapide que Windows !!
c'est en partie ce qui me fait dire que le system d'exploitation du Falcon030, etait bien plus en avance, que Windows.. meme XP !! :)

bien sur ce type de recherche existe sur Google
ce qui permet d'ailleurs de tomber sur des fichiers confidentiel

parcequ'il est facile de rechercher des .doc, .txt, ou bien Mot de pass



allez je vous dit meme comment :lol:

dans Google vous tappez
Filetype:sql
pour que ça vous renvoi tout les fichiers Sql que google a repertorié !!

si vous faite :
allinurl:cdkey.txt
ça va renvoyer quoi selon vous :lol:

ou bien
intext:(password|passcode)
etc.... :D

Publié : dim. 06/janv./2008 13:18
par Ar-S
ça me rappelle un script php que j'ai fait qui utilise google pour rechercher des fichiers sur différents hebergeurs : http://arsworld.free.fr/arsgooglebooster.php3

Les résultats sont parfois impressionnant

Publié : jeu. 10/janv./2008 18:52
par Backup
................