J'ai un grand fichier texte où je souhaite supprimer tout le texte entre le symbole ^ et le symbole ~. Cela doit également fonctionner à travers les lignes.
J'ai essayé de faire une recherche et un remplacement réguliers en utilisant ^*~
dans la zone Rechercher et rien dans la zone Remplacer, mais il a trouvé 0 résultats.
Ceci n'est pas possible avec une recherche et un remplacement réguliers. Si vous utilisez Notepad ++ 6, vous pouvez profiter du nouveau moteur regex qui prend en charge PCRE ( source ).
Appuyez sur Ctrl + H pour ouvrir la boîte de dialogue Rechercher et remplacer et effectuer l'action suivante:
Find what: \^.*?~ Replace with: Wrap around: checked Regular expression: selected . matches newline: checked
Maintenant, appuyez sur Alt + A pour remplacer toutes les occurrences.
L'expression régulière dans Trouver ce qui se compose comme suit:
\^
Est un littéral ^ . .*?
Est la moindre quantité de caractères qui permet à l'expression régulière de correspondre. ~
Est littéral ~ . Vous allez vouloir rechercher \^.*?~
Et assurez-vous . La nouvelle ligne est activée:
C'est parce que ^
a une signification particulière, il correspond au début d'une ligne. Ainsi, nous devons l'échapper avec une barre oblique inverse \^
.
L'écriture ^*
correspondrait à "n'importe quel nombre de début de ligne par ligne". .*
Correspond à "n'importe quel caractère", mais par défaut il ne correspond pas aux nouvelles lignes.
Essayez d'utiliser ce regex dans la section de recherche \^[^~]*~
pour remplacer tout entre ^ et ~ inclusivement.