Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
j'utilise un programme me permettant de faire des recherches avec des expressions régulières sur des strings contenus dans des fichiers.
Je voudrais effectuer la recherche suivante :
trouver les lignes / strings contenant "MaTable" MAIS ne pas afficher les résultats correspondants à "XXX.MaTable"
pouvez vous maider ? je ne connais pas la syntaxe des regex et j'ai juste besoin de ça.
merci d'avance.
Hors ligne
Petite précision : c'est un programme PB qui utilise "Match" ou alors c'est des regex à la Perl ?
Hors ligne
c'est un programme qui utilise les expressions régulières. c'est Agent Ransack le programme.
Hors ligne
Alors,
^MaTable : tout fichier qui commence par "MaTable"
[^X]*MaTable tout fichier qui contient "MaTable" et ne commence pas par un X
Tu peux télécharger l'aide en français ici
Hors ligne
meric mais si je demande de l'aide ici c'est justement parceque je n'y arrive pas avec l'aide d'Agent Ransack.
je pense que l'expression que tu me donnes n'est pas juste non plus, non je pense pas , après essai je suis sûr.
je précise au cas où je n'ai pas été clair, je fais des recherches sur des strings dans un fichier donc je ne veux pas filtrer sur le premier mot du fichier mais sur le premier mot d'un groupe de mots accolés à "MaTable"
ex : je veux récupérer
" MaTable"
"Machin.MaTable"
mais je ne veux pas récupérér
"XXX.MaTable"
je ne comprends pas comment [^qqchose] pourait servir de filtre puisque si j'en crois la doc ça veut dire que le début du string doit être "qqchose" ?
je suis pas sûr qu'on puisse faire ce que je veux avec une regex en fait puisque on a a disposition :
* L'expression qui précède se produit zéro fois ou plus
? L'expression qui précède se produit zéro ou un fois
+ L'expression qui précède se produit une fois ou plus
et moi il me faudrait
| L'expression qui précède se produit zéro fois
juste non ?
Dernière modification par rincevent (09-05-2007 09:59:42)
Hors ligne
rincevent a écrit:
meric mais si je demande de l'aide ici c'est justement parceque je n'y arrive pas avec l'aide d'Agent Ransack.
Tu serai étonné du nombre de gens qui demandent de l'aide sans lire la doc.
rincevent a écrit:
je suis pas sûr qu'on puisse faire ce que je veux avec une regex en fait puisque on a a disposition :
* L'expression qui précède se produit zéro fois ou plus
? L'expression qui précède se produit zéro ou un fois
+ L'expression qui précède se produit une fois ou plus
et moi il me faudrait
| L'expression qui précède se produit zéro fois
juste non ?
Juste !
Cependant [^X] signifie "n'importe quelle lettre sauf X" ce qui est proche de ce que tu demande
Il y a aussi la version commerciale "FileLocator Pro" qui a plus de fonctionnalitées, notamment "Boolean searches (e.g. AND, OR, and NOT)", mais aussi "Perl compatible regexp option"
AMHA c'est la solution la plus simple
Feature comparison with Agent Ransack
Hors ligne
shahin a écrit:
Cependant [^X] signifie "n'importe quelle lettre sauf X" ce qui est proche de ce que tu demande
hargh.. en lisant très attentivement la doc je comprends que [^5] c'est juste l'inverse de ^5 si je pige bien, Super instinctif ça.... enfin bon passons.
J'y suis enfin arrivé en tout cas, j'avais encore un soucis à cause d'un point que je n'avais pas fait précédé d'un \ mais maintenant c'est OK et j'ai seulementles résultats qu'il me faut, ça va bien me faciliter le travail.
merci pour ton aide :-)
Sujet Résolu donc.
Dernière modification par rincevent (09-05-2007 13:24:09)
Hors ligne