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.
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
.
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).
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.
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"