web-dev-qa-db-fra.com

Notepad ++ expressions régulières non gourmandes

Notepad ++ prend-il en charge les expressions régulières non gourmandes?

Par exemple pour le texte:

abcxadc

Je veux obtenir des pièces en utilisant un motif:

a.+c

Et maintenant, je reçois une chaîne entière au lieu de 2 parties. J'ai essayé d'utiliser le '?' opérateur mais sans succès.

53
UGEEN

Notepad ++ ne prend pas en charge le paresseux ? modificateur. Au lieu de cela, vous pouvez spécifier ce que vous ne pas voulez:

a[^c]+c

Ce qui spécifie: match a, suivi d'un ou plusieurs caractères qui ne sont pas c, suivis de c. Cela correspondra à abc et adc.

43
Daniel Vandersluis

Mise à jour: à partir de la version 5.9 (construction le 31 mars 2011), Notepad ++ prend en charge les expressions régulières non gourmandes (nouvelle scintilla 2.5).

57
UGEEN

J'ai fait ce qui suit avec Notepad ++ V6.1.5 (il a maintenant un moteur regex PCRE):

a. +? c

et a obtenu 2 parties (abc et adc)

Les recherches paresseuses (non gourmandes) sont désormais possibles.

48
user1584660

Lors du nettoyage d'un fichier journal de pièces jetables, j'ai eu du mal à utiliser une expression régulière non gourmande avec "Remplacer tout" et un motif "Remplacer par" vide. Ma solution était de faire correspondre le motif à toute la ligne sans changer le reste de la ligne.

Exemple: supprimez chaque début de ligne jusqu'au premier point-virgule: au lieu de ^.+?: -> utilisez maintenant ^.+?:(.*)$ -> \1 Et appuyez sur "Remplacer tout"

0
SebastianH