Odpowiedzi:
Nie jest to możliwe przy zwykłym wyszukiwaniu i zamianie . Jeśli używasz Notepad ++ 6, możesz skorzystać z nowego silnika regex, który obsługuje PCRE ( źródło ).
Naciśnij Ctrl+, Haby otworzyć okno dialogowe Znajdź i zamień i wykonaj następujące czynności:
Find what: \^.*?~
Replace with:
Wrap around: checked
Regular expression: selected
. matches newline: checked
Teraz naciśnij Alt+, Aaby zastąpić wszystkie wystąpienia.
Wyrażenie regularne w Znajdź, co składa się w następujący sposób:
\^
jest dosłowne ^ ..*?
to najmniejsza liczba znaków, która pozwala dopasować wyrażenie regularne.~
jest dosłowne ~ ..*?
Wzór pracował dla mnie, aby szukać między znakami ;
i <
. Tak więc wyszukiwanie to ZNAJDŹ ;.*?<
ZAMIEŃ ;
z wybranymi opcjami dla Regular expression
i. matches new line
Będziesz chciał szukać \^.*?~
i się upewnić . dopasowuje nowy wiersz jest włączony:
Jest tak, ponieważ ^
ma specjalne znaczenie, pasuje do początku linii. Dlatego musimy uciec przed odwrotnym ukośnikiem \^
.
Pisanie ^*
pasowałoby do „dowolnej liczby początków wiersza z rzędu”. .*
dopasowuje „dowolny znak”, ale domyślnie nie pasuje do nowego wiersza.
~
znaków (lub np. Wiele dopasowań), dopasuje to od pierwszego ^
do końca ~
.
*?
że nie jest chciwy, to leniwe .*?~
nigdy nie będzie pasowało do więcej niż jednego ~
. Więc jest ok.
Spróbuj użyć tego wyrażenia regularnego w sekcji znajdowania, \^[^~]*~
aby zamienić wszystko między ^ i ~ włącznie.
^~
.
\^[^~]*~
się ^~
?
Miałem podobne wymaganie MIĘDZY zamienianiem znaków początkowych i końcowych. Pochodzi z wiadomości e-mail programu Outlook; setki członków i chciałem tylko nazwiska osób ze wszystkim usuniętym między <
RemoveTextHere>
.
Oryginalny
First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;
Dennis był bliski mojemu rozwiązaniu, Find what: \^.*?~
ale musiałem zmienić swoje dosłowne znaki, Find what: \<.*?>
a potem musiałem usunąć pierwszy ukośnik Find what: <.*?>
.
Zaktualizowano Find what: <.*?>
; Zastąp pusty.
First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4
_
Znaki szczególne : *
, $
, \
, +
, ^
, (
i )
, [
, ]
, {
i}
Znaki specjalne są opisane przez Jerry'ego Jeremiaha tutaj /programming/37742519/notepad-wildcard .