Supprimer toutes les lignes commençant par # ou; dans Notepad ++

En utilisant Notepad ++, comment supprimer toutes les lignes commençant par # ou;

Trouver:

 ^[#;].* 

Remplacez par rien. Le ^ indique le début d’une ligne, le [#;] est une classe de caractères correspondant à # ou ; , et .* correspond à tout autre élément de la ligne.

Dans les versions de Notepad ++ antérieures à la version 6.0, vous ne pourrez pas supprimer les lignes en raison d’une limitation du moteur de regex. le remplacement donne des lignes vides pour chaque ligne correspondant. En d’autres termes, ceci:

 # foo
 ;  bar
 déclaration;

Se transformera en:



 déclaration;

Cependant, le remplacement fonctionnera dans Notepad ++ 6.0 si vous ajoutez \r , \n ou \r\n à la fin du modèle, en fonction de la ligne utilisée par votre fichier, ce qui entraîne:

 déclaration;

Comme d’autres l’ont noté, dans Notepad ++ 6.0 et versions ultérieures, il est possible d’utiliser la fonctionnalité “Remplacer” pour supprimer toutes les lignes commençant par “;” ou “#”.

Tao fournit une expression régulière qui sert de sharepoint départ, mais ne tient pas compte des espaces qui peuvent exister avant le “;” ou “#” caractère sur une ligne donnée. Par exemple, les lignes qui commencent par “;” ou “#” mais “tabbed-in” ne seront pas supprimés lors de l’utilisation de l’expression régulière de Tao, ^(#|;).*\r\n .

L’expression régulière de Tao ne tient pas compte de la mise en garde mentionnée dans la réponse de BoltClock, à savoir: les variations des caractères de nouvelle ligne entre les systèmes.

Une amélioration est d’utiliser ^(\s)*(#|;).*(\r\n|\r|\n)? , qui prend en compte les variances des caractères blancs et de la nouvelle ligne. Aussi, le trailing ? gère les cas dans lesquels la dernière ligne du fichier commence par # ou ; , mais ne se termine pas par une nouvelle ligne.

Pour les curieux, il est possible de déterminer quel type de caractère de nouvelle ligne est utilisé dans un document donné (et plusieurs types peuvent être utilisés): Affichage -> Afficher le symbole -> Afficher la fin de la ligne.

C’est possible, mais pas directement.

En bref, allez à la recherche, utilisez votre regex, cochez “marquer la ligne” et cliquez sur “Rechercher tout”. Il en résulte des signets pour toutes ces lignes.

Dans le menu de recherche, il y a un point “supprimer les lignes mises en signet”.

J’ai trouvé la réponse ici (la bonne réponse est la seconde, pas la acceptée!): Comment supprimer des lignes spécifiques sur Notepad ++?

Peut-être devriez-vous essayer

 ^[#;].*$ 

^ correspond au début, $ la fin.

Dans Notepad ++, vous pouvez utiliser l’onglet Marquer dans la boîte de dialog Rechercher pour mettre en signet toutes les lignes correspondant à votre requête qui peuvent être regex ou normal (caractère générique).

Puis utilisez Recherche> Signet> Supprimer les lignes marquées.