Notepad++ non-greedy expressions régulières
Ne Notepad++ non-greedy les expressions régulières?
Par exemple pour le texte:
abcxadc
Je souhaite obtenir des pièces à l'aide de modèle:
a.+c
Et j'ai maintenant l'ensemble de la chaîne au lieu de 2 pièces. J'ai essayé d'utiliser le '?' opérateur mais sans succès.
Vous devez vous connecter pour publier un commentaire.
Notepad++ ne prend pas en charge les paresseux
?
modificateur. Au lieu de cela, vous pouvez spécifier ce que vous ne pas voulez:Qui précise: match
a
, suivi d'un ou plusieurs caractère qui n'est pasc
, suivie parc
. Ceci correspondra àabc
etadc
.Mise à jour:
à partir de la version 5.9 (temps de construction Mar, 31. 2011), Notepad++ prend en charge non gourmands les expressions régulières (nouvelle parcelle de 2,5).
Je n'ai la suite avec Notepad++ V6.1.5 (Il a maintenant regex PCRE moteur):
et a obtenu 2 pièces (
abc
etadc
)Paresseux(non-greedy) les recherches sont désormais possibles.
Tandis que le nettoyage d'un fichier de log de dispensable pièces, j'ai eu de la difficulté à l'aide de non-greedy expression régulière avec "Remplacer Tout" et un vide "Remplacer par" modèle.
Ma solution a été de faire de la correspondance de modèle de l'ensemble de la ligne sans changer le reste de la ligne.
Exemple: supprimer chaque début de ligne jusqu'au premier point-virgule: au lieu de
^.+?:
->maintenant utiliser
^.+?:(.*)$
->\1
et appuyez sur "Remplacer Tout"