Notepad++ expression régulière

Notepad++ expression régulière - Logiciels - Windows & Software

Marsh Posté le 25-08-2023 à 14:27:57    

Bonjour à tous,
 
Après plusieurs recherches concernant les expressions régulières je n'ai pas réussi à trouver la solution à mon problème.
 
Ex : extrait d'un long fichier (avec champs séparés par |)
 
L522467583|1_PRD1|4_71S13|06/12/2022|2|10/12/2022|1|654244|654244_5_1|25.0|0
E1795508|1_OBSTK|4_35P20|18/11/2022|1|24/11/2022|1|AT12022|AT12022_7_1|1.0|0
L521810671|1_PRD1|4_92S12|22/06/2022|2|26/06/2022|1|654553|654553_7_1|80.0|0
V51414129|1_PRD1|4_79S06|27/07/2022|1|31/07/2022|1|683503|683503_7_1|60.0|0
E1725995|1_OBSTK|4_33P20|07/04/2022|2|28/04/2022|1|AT14906|AT14906_7_1|1.0|0
 
Je voudrais pouvoir marquer (afin de les supprimer ensuite) les lignes dans lesquelles il y a "1" dans le 5ème champ, ce qui marquerait dans l'exemple la ligne 2 et la ligne 4.
 
Je suppose que c'est possible via les expressions régulières mais je n'arrive pas à trouver comment.
 
Merci pour vos réponses
 
Antoine

Reply

Marsh Posté le 25-08-2023 à 14:27:57   

Reply

Marsh Posté le 25-08-2023 à 15:22:42    

Chaine recherchée :

^([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)\|1\|([^\n]*)\n


Chaine de remplacement :

\1\|\2\|\3\|\4\|MARQUE\|\5\n


 
Le ^ pour indiquer un début de ligne, le \n pour indiquer le passage à la ligne suivante
On échappe le |
([^|]*)\|, on prend tous les caractères jusqu'au prochain |, les parenthèses pour les récupérer avec son indice par la suite, le \1 par exemple pour la chaine de remplacement, le [^\|] correspond à n'importe quel caractères sauf le | (que l'on oublie pas d'échapper) et le * pour lui indiquer qu'il peut y en avoir plusieurs jusqu'au 1 que tu veux et la même chose avec le saut de ligne pour la fin de la ligne
J'ai mis MARQUE en remplacement du 1 mais tu mets ce que tu veux, voir supprimer directement la ligne
 
Demande si c'est pas trop clair


---------------
Votre couroux impitoiable Veut-il renverser l'Univers ?
Reply

Marsh Posté le 25-08-2023 à 16:02:18    

Super merci beaucoup, j'ai bien compris le principe !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed