[R] Recherche de motif(s) d'expression régulière

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[R] Recherche de motif(s) d'expression régulière

#1

Message par Tlem »

Bonjour.
Cela faisait longtemps que je n'avais pas posé de question sur le forum.

Ce message est donc destiné à ceux qui maitrise assez bien les expressions régulières (N'est-ce pas Michel et Jean-Christophe). ;)

Je doit renommer en série une certaine quantité de fichiers. Malheureusement, ces fichiers peuvent présenter un aspect "nominatoire" plus ou moins différent. Bien qu'il soit possible de faire une grande partie avec des fonctions Stringxxx, l'expression régulière me semble plus indiquée.

Je suis bien arrivé dans les deux cas à faire ce que je voulais, mais comme le traitement peut concerner des centaines de fichiers (voir plus), une optimisation ne serait pas de refus.

Voici donc les bases concernant le nom de ces fichiers :

Code : Tout sélectionner

NNxxTTTT.Ext
NN : Est un nombre qui peux être à un ou deux chiffres (Peut être qu'un jour, celui-ci pourrait être à trois chiffres).
xx : Est un séparateur qui peux être un mélange d'espaces et des caractères "-" ou "." ou "_".
TTTT : Correspond au nom du fichier et il est composé principalement de lettres et/ou chiffres séparés par des espaces et/ou des caractères "-" ou "." ou "_" (peut être un chiffre ou un nombre seul).
Ext : Correspond à l’extension du fichier et doit resté tel quel.

* Parfois, NN peut être précédé par un chiffre seul et séparé par un caractère de séparation (espace, "-", "." ou "_").

Le but, serait d'unifier les noms de ces fichiers en adoptant le format : NN - TTTT.Ext
Avec NN étant obligatoirement un nombre à deux chiffres.

Ne maitrisant pas les expressions régulières, il me faut actuellement, 3 étapes pour arriver à ce résultat.
La première pour supprimer l'éventuel nombre + séparateur parasite qui peut apparaitre avant le nombre significatif.
La deuxième me permet de traiter la partie séparateur entre NN et TTTT pour la remplacer par " - ".
Et la troisième me permet de rajouter un zéro devant NN si il n'est composé que d'un seul chiffre.

Voilà, je ne pense pas avoir oublié quoi que ce soit dans l'énoncé, mais si il existe une zone floue, n'hésitez pas à demander.

Exemple de fichiers et de résultats espérés :

Code : Tout sélectionner

9-0-Nom du fichier.txt   => 00 - Nom du Fichier.txt
8-4.Nom du fichier.txt   => 04 - Nom du Fichier.txt
9-Nom du fichier.txt     => 09 - Nom du Fichier.txt
99_Nom du fichier.txt    => 99 - Nom du Fichier.txt
99. Nom du fichier.txt   => 99 - Nom du Fichier.txt
99 Nom du fichier.txt    => 99 - Nom du Fichier.txt
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: Recherche de motif(s) d'expression régulière

#2

Message par ZDS »

Bonjour,

C'est avec plaisir que je vais me pencher là dessus, j'essaye de t'envoyer ça d'ici ce soir, demain matin maxi.

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Recherche de motif(s) d'expression régulière

#3

Message par mikell »

Voilà

Code : Tout sélectionner

#cs
9-0-Nom du fichier.txt   => 00 - Nom du Fichier.txt
8-4.Nom du fichier.txt   => 04 - Nom du Fichier.txt
9-Nom du fichier.txt     => 09 - Nom du Fichier.txt
99_Nom du fichier.txt    => 99 - Nom du Fichier.txt
99. Nom du fichier.txt   => 99 - Nom du Fichier.txt
99 Nom du fichier.txt    => 99 - Nom du Fichier.txt
#ce

Dim $array[6] = ["9-0-Nom du fichier.txt", "8-4.Nom du fichier.txt", "9-Nom du fichier.txt", "99_Nom du fichier.txt", "99. Nom du fichier.txt", "99 Nom du fichier.txt"]

$res = ""
For $i = 0 to 5
  $res &= Execute(StringRegExpReplace($array[$i], '(?:\d[\-._])?(\d+)(?:[\-._\h]*)(.+)', "StringFormat('%02d', '$1') & ' - $2' & ") & "''")
  $res &= @crlf
Next
msgbox(0, "", $res)
 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#4

Message par Tlem »

J'essaie de regarder ça ce soir, mais je viens juste de rentrer et je doit préparer pas mal de choses pour demain car la boite ou je travail fait portes ouvertes jusqu'à 23 heures. Je te dit ça dés que possible. En tout cas merci d'avance.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#5

Message par Tlem »

Bon, finalement avant d'aller prendre ma douche, je suis passé par une petite pièce ou on ne peux y être que tout seul et j'y ai emmené le portable. :roll:
Effectivement ta Regex semble répondre à 99,9% de mes besoins.
Un des cas que j'ai oublié de présenter car il est peu probable (mais c'est quand même une possibilité), c'est :

Code : Tout sélectionner

9 - 0-Nom du fichier.txt
ou
9  0-Nom du fichier.txt
et dans ce cas ton motif ne fonctionne plus. ;)

Maintenant, s'il faut une expression rien que pour le traitement des cas ou il existe ce fameux chiffre parasite ainsi que les séparateurs qui le suivent, alors pas de problème. ;)

Allez, maintenant, direction la douche. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#6

Message par mikell »

Tlem a écrit :Un des cas que j'ai oublié de présenter ...
Piège classique pour regex Image
Si le cahier des charges est incomplet au départ, fatalement ça merdoie...
Voilà pour inclure le 0.1% :

Code : Tout sélectionner

Dim $array[11] = [ _
    "9-0-Nom du fichier.txt", _ 
    "8-4. Nom du fichier.txt", _ 
    "5Nom du fichier.txt", _ 
    "9-Nom du fichier.txt", _ 
    "99_Nom du fichier.txt", _ 
    "99. Nom du fichier.txt", _ 
    " 12 . 97. Nom du fichier.txt", _ 
    "3.99 Nom du fichier.txt", _ 
    " 3 .98 Nom du fichier.txt", _ 
    "9 - 2-Nom du fichier.txt", _ 
    "9  3  - Nom du fichier.txt"]

$res = ""
For $i = 0 to UBound($array)-1
  $res &= Execute(StringRegExpReplace($array[$i], '(?:\h*\d+[\-._\h]+)?(\d+)(?:[\-._\h]*)(.+)', "StringFormat('%02d', '$1') & ' - $2' & ") & "''")
  $res &= @crlf
Next
msgbox(0, "", $res)
Edit
Et si ton NN doit un jour faire 3 chiffres, tu devrais mettre de suite le StringFormat à %03d :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#7

Message par Tlem »

Magnifique. Merci Michel.

Éventuellement, est-ce que tu crois qu'il serait possible d'inclure ceci :

Code : Tout sélectionner

"6 - 1st FileName.txt" => "06 - 1st FileName.txt"
et
"1 - 9.txt" => "01 - 9.txt"
Maintenant, comme je l'ai déjà dit, le cas ou un nombre parasite apparait, est extrêmement rare. A la limite, je peux effectuer le traitement séparément rien que pour ces cas là. Je préfère privilégier tous les autres cas plutôt que ceux-ci.

99,9% des cas seront de la forme NNxxxTTTT (voir 1er message pour le descriptif des valeurs), donc je préfère que ça fonctionne à 100% pour ces cas là plutôt que l'exceptionnel cas ou j'aurais NxNNxxxTTTT.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#8

Message par mikell »

Hum

Code : Tout sélectionner

"1 - 9.txt" => "01 - 9.txt"
et
8-4.Nom du fichier.txt   => 04 - Nom du Fichier.txt  (cahier des charges initial)
ça commence à sentir fort la contradiction
Toutefois on y arrive avec ça, même en conservant les exigences de départ

Code : Tout sélectionner

Dim $array[16] = [ _
    "9-1-Nom du fichier.txt", _
    "8-2. 9Nom du fichier.txt", _
    "3 08Nom du fichier.txt", _
    "4-Nom du fichier.txt", _
    " 5 Nom du fichier.txt", _
    "06. Nom du fichier.txt", _
    " 12 . 7. 08Nom du fichier.txt", _
    "3.08 Nom du fichier.txt", _
    " 3 .9_Nom du fichier.txt", _
    " 9 - 10-Nom du fichier.txt", _
    "11 - 1st FileName.txt", _
    " 12  2nd File.Name.txt", _
    "13  2nd File. 3Name.txt", _
    "5 - 14.  3rd File. 3Name.txt", _
    "5 - 15.2.FileName.txt", _
    "16 - 9.txt"]

$res = ""
For $i = 0 to UBound($array)-1
  $res &= Execute(StringRegExpReplace($array[$i], '(?:\h*\d+[\-._\h]+)?(\d+)(?:[\-._\h]+)(.+\..+)', "StringFormat('%02d', '$1') & ' - $2' & ") & "''")
  $res &= @crlf
Next
msgbox(0, "", $res)
sachant que le seul format qui ne marche pas c'est "15Nom du fichier.txt" où il est impossible de déterminer si le 5 est dans le numéro à conserver ou le 1er caractère du nom de fichier

Bien sûr après, si tu choisis de ne traiter que les cas de la forme NNxxxTTTT c'est évidemment beaucoup plus simple

Code : Tout sélectionner

Dim $array[9] = [ _
    " 1 Nom du fichier.txt", _ 
    "2. Nom du fichier.txt", _ 
    "3   Nom du fichier.txt", _ 
    "4 - 1st FileName.txt", _ 
    " 5. Nom du fichier.txt", _ 
    " 6. 9.txt", _ 
    " 7. 9.1.txt", _ 
    " 8Nom du fichier.txt", _ 
    " 9   23.Nom du fichier.txt"]

$res = ""
For $i = 0 to UBound($array)-1
  $res &= Execute(StringRegExpReplace($array[$i], '\h*(\d+)(?:[\-._\h]*)(.+)', "StringFormat('%02d', '$1') & ' - $2' & ") & "''")
  $res &= @crlf
Next
msgbox(0, "", $res)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#9

Message par Tlem »

Après test de toutes les possibilités qui me sont venues à l'esprit, je déclare le sujet résolu. Image

Si je trouve d'autres cas, je reviendrait pour voir si il est possible d'adapter le motif aux nouvelles données. Mais bon, a première vue, le motif actuel correspond probablement à 99,99999 des cas que je devrais rencontrer. :wink:

Merci infiniment Michel.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#10

Message par Tlem »

Bon, après test sur une plus grande quantité de fichiers, j'ai trouvé encore deux formats non traités :

Code : Tout sélectionner

"11 - FileName's.txt"
"11 - FileName"
Je peux trouver une parade pour le dernier cas, mais si il y a une possibilité de résoudre les deux, ce serait génial.
En fait, dans TTTT il peux aussi y avoir toutes sorte de caractères autre que des lettres, car ce sont des noms de fichiers et certains sont étrangé ou utilisent divers caractères afin de représenter le fichier. Globalement, seul les caractères [ -_.] peuvent être considérés comme séparateur car selon la provenance des fichiers, certains utilisent l'un de ceux-ci voir parfois un mix avec des espaces. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#11

Message par mikell »

Ouala
► Afficher le texte
Note :
- pour anticiper une remarque : regarde ce qui se passe si tu renommes dans Windows un fichier avec un nouveau nom qui finit par un point sans extension
- si le fichier est de la forme "11 - FileN.ame" ça va être dur de faire comprendre au regex (et à Windows !) que "ame" n'est pas une extension :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Re : [..] Recherche de motif(s) d'expression régulière

#12

Message par Tlem »

Il est évident qu'un nom de fichier avec un point et sans extension, ne sera pas possible.

En fait ils ont tous une extension. C'est juste que je fait le traitement uniquement sur le nom, d'où ma remarque précédente sur le fait que j'ai une solution si le dernier cas posait problème. ;-)

Après, comme je n'ai aucun contrôle sur le type d'écriture et de mise en forme du nom du fichier, cela m'oblige à prendre en compte le maximum de cas possible. Il se peut qu'il y ai des cas insolubles, mais comme ils seront exceptionnels, je ferais avec. :-D

Je regarde ta proposition dès que je rentre chez moi.

Edit :
Re-bonjour.
L'idée de l'utilisation de la fonction _Escape() est bien vu, mais j'ai adapté à mon besoin.

Comme dit ci-dessus, le traitement est effectué uniquement sur la partie du nom du fichier sans l'extension, donc le fait de rajouter le point ne m'arrange pas forcément. Évidemment c'est de ma faute puisque j'ai évoqué le traitement sur nom + extension !!! Désolé. :oops:
Je vais donc modifier mon traitement pour avoir obligatoirement nom + extension ce qui résoudra ce cas particulier.

Comme c'est un nom de fichier récupéré à partir d'une fonction de recherche à base de FileListToArray(), ce ne peut être un nombre et le nom ne peut pas être autre chose qu'une chaine. Donc les deux premières lignes de la fonction _Escape() ne me sont pas utiles. La troisième ligne non plus, suite à ce que j'ai dit précédemment, mais en plus elle implique l'obligation d'avoir une extension standard, ce qui n'est pas forcément le cas partout. Il existe des extensions de plus de trois caractères (mpeg par exemple).

Donc finalement, c'est la dernière ligne qui fait toute la différence et que j'ai placé avant le traitement StringRegExpReplace().
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Re : [..] Recherche de motif(s) d'expression régulière

#13

Message par mikell »

Tlem a écrit :

Code : Tout sélectionner

"11 - FileName"
En fait ils ont tous une extension.
Ah la la :roll:
Ce regex était conçu dès le début pour traiter des fichiers avec extension !

Pour les cas exceptionnels à probabilité de 0.000001 je suggère une gestion d'erreur simple de ce type
► Afficher le texte
NB
Quand tu renommes un fichier en "fichier." (avec point final et sans extension) Windows supprime automatiquement ce point, c'était une manière de résoudre le cas des fichiers sans extension
Pour la fonction _Escape j'avais directement pompé sur la fonction _SQLite_FastEscape de jchd , bicoze évidemment je ne connais pas la syntaxe de tes fichiers ^^
Pour la longueur de l'extension idem, suffit de mettre 4 ou 5 au lieu de 3 dans le regex dans la fonction _Escape
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de motif(s) d'expression régulière

#14

Message par Tlem »

Comme je décompose les traitements, j'utilisais au départ nom + extension. Après, lorsque je me suis rendu compte que l'extension pouvait provoquer des erreurs de traitement, j'étais parti sur le nom seul (d’où le "11 - FileName" qui était malencontreusement resté).

Maintenant, avec tes derniers motifs, tout est rentré dans l'ordre, et le dernier que tu m'a proposé semble faire le boulot correctement sur le panel de fichiers que j'ai à ma disposition.

Mon code final est donc celui-ci :

Code : Tout sélectionner

$FileNameNew = StringReplace($FileNameNew, "'", "''", 0, 1)
$FileNameNew = Execute(StringRegExpReplace($FileNameNew & $szExt, '(?:\h*\d+[\-._\h]+)?(\d+)(?:[\-._\h]+)(.+\..*)', "StringFormat('%02d', '$1') & ' - $2' & ") & "''")

If $FileNameNew <> "" Then
    $aGlobalFilesList2[$j] = $szDrive & $szDir & $FileNameNew
EndIf
Merci encore Michel, cela me permet d'optimiser et sans doute d'améliorer mon code précédent (je n'avais pas testé tous les cas). Bonne soirée.

PS: Si à l'occasion tu as le temps, est-ce que tu pourrait m'expliquer la syntaxe du motif proposé . Il y a des partie que je comprend, mais certaine restent obscur même en lisant la doc !
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Recherche de motif(s) d'expression régulière

#15

Message par mikell »

Aucun problème :wink:

Code : Tout sélectionner

'(?:\h*\d+[\-._\h]+)?(\d+)(?:[\-._\h]+)(.+\..*)'
(?:\h*\d+[\-._\h]+)? : éventuel(s) espace(s) horiz, suivi(s) de 1 ou plus chiffre(s), suivi(s) de 1 ou plus [caractère(s) tiret, point, underscore ou espace horiz]
L'ensemble pouvant exister ou pas (c'est le '?' final) et dans un groupe non-capturant ( ?: ...)
ça représente la partie "parasite" éventuelle du début avec son séparateur

(\d+) : ça tu connais => backreference $1, ça représente le numéro de fichier à conserver

(?:[\-._\h]+) : 1 ou plus [caractère(s) tiret, point, underscore ou espace horiz] dans un groupe non-capturant, ça représente le 2ème séparateur

(.+\..*) : tout le reste (gourmand) avec un point suivi ou pas de n'importe quel caractère, dans un groupe capturant => backreference $2
ça représente le nom de fichier+point+extension
Mais si tous les fichiers ont une extension tu peux remplacer ce groupe par (.+) (comme dans le regex de mon 1er post) puisque la partie à traiter se situe avant le nom de fichier

NB
Comme FileListToArray() retourne les noms avec leur extension tu peux traiter directement en sortie d'array non ?
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Zouzaka
Niveau 4
Niveau 4
Messages : 50
Enregistré le : mer. 18 sept. 2013 13:03
Status : Hors ligne

Re: [R] Recherche de motif(s) d'expression régulière

#16

Message par Zouzaka »

Comme je suis encours d'apprentissage du langage autoit je m’intéresse a tout les problèmes des autres et aux divers solutions, donc celui-ci aussi :roll:
a la premiere lecture tout cela me semblait etre du chinois complexifié mais après lecture de ce tutorie :
http://www.autoitscript.fr/autoit3/docs ... egexp.html
ca ma semblé plus clair, néanmoins je m’aperçois que tu utilise autre chose que des "[]","()","{}".
tu dit que (balbla)? veut dire que peut importe que (blabla) existe ou pas, ca j'ai compris, mais les "?:" signifie quoi ? y a t'ils d'autres commandes ?
si tu connait un autre tuto plus complet, peut m'y rediriger ? sinon peut tu m'expliquez toi même les autres possibilités ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Recherche de motif(s) d'expression régulière

#17

Message par mikell »

Les expressions régulières ne sont pas propres à Autoit, elles existent dans des tas de langages
Si tu débutes, warning : c'est pas évident ^^
Le fichier d'aide pour StringRegExp est un bon début pour apprendre, mais il est un peu trop sommaire dans Autoit v. 3.3.8.1, les explications des (nombreux) éléments sont bien plus détaillées ici
Des tutos y en a plein internet, suffit de les chercher
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Recherche de motif(s) d'expression régulière

#18

Message par jchd »

Petites précisions : le fichier d'aide pour StringRegExp du lien cité par Mikell est celui de la version beta.

Du fait d'options de compilation différentes de la bibliothèque PCRE, un certain nombre de méta-caractères et de séquences voient leur comportement changé par rapport à ce qu'on constate avec la version stable 3.3.8.1

Par contre, le fichier d'aide de cette version stable contient un bon nombre d'erreurs...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre