J'ai un gros fichier texte dans lequel je veux supprimer tout le texte entre le symbole ^ et le symbole ~. Cela doit également fonctionner sur plusieurs lignes.
J'ai essayé de faire une recherche régulière et de remplacer en utilisant ^*~
dans la zone Rechercher et rien dans la zone Remplacer, mais il a trouvé 0 résultats.
Cela n’est pas possible avec une recherche et un remplacement réguliers . Si vous utilisez Notepad ++ 6, vous pouvez tirer parti du nouveau moteur regex qui prend en charge PCRE ( source ).
Presse Ctrl + H pour ouvrir la boîte de dialogue Rechercher et remplacer et effectuez 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 Trouvez ce que est composé comme suit:
\^
est un littéral ^ ..*?
est la quantité minimale de caractères permettant à l'expression régulière de correspondre.~
est un littéral ~ .Vous voudrez rechercher \^.*?~
et assurez-vous que . correspond à la nouvelle ligne est activé:
En effet, ^
a une signification particulière, il correspond au début d'une ligne. Nous devons donc y échapper avec une barre oblique inverse \^
.
Ecrire ^*
correspondrait à "n'importe quel nombre de début de ligne dans une ligne". .*
correspond à "n'importe quel caractère", mais par défaut, il ne correspond pas aux nouvelles lignes.
Essayez d’utiliser cette expression rationnelle dans la section de recherche \^[^~]*~
pour tout remplacer entre ^ et ~ inclusivement.
J'avais une exigence de remplacement BETWEEN similaire avec des caractères de début et de fin. Cela venait de la messagerie Outlook; Des centaines de membres et je voulais juste les noms de personne avec tout ce qui avait été enlevé entre <
RemoveTextHere >
.
Original
First1 Last1 <[email protected]>; First2 Last2 <[email protected]>; First3 Last3 <[email protected]>; First4 Last4 <[email protected]>;
Dennis était proche de ma solution Find what: \^.*?~
mais je devais changer mes caractères littéraux Find what: \<.*?>
puis supprimer la première barre oblique Find what: <.*?>
.
Updated Find what: <.*?>
; Remplacez vide.
First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4
_
Caractères spéciaux : *
, $
, \
, +
, ^
, (
et )
, [
, ]
, {
et }
Les caractères spéciaux sont décrits par Jerry Jeremiah ici https://stackoverflow.com/questions/37742519/notepad-wildcard .