Ответы:
Это невозможно при обычном поиске и замене . Если вы используете Notepad ++ 6, вы можете воспользоваться новым движком регулярных выражений, который поддерживает PCRE ( источник ).
Нажмите Ctrl+, Hчтобы открыть диалоговое окно « Найти и заменить » и выполнить следующее действие:
Find what: \^.*?~
Replace with:
Wrap around: checked
Regular expression: selected
. matches newline: checked
Теперь нажмите Alt+, Aчтобы заменить все вхождения.
Регулярное выражение в Find, составленное следующим образом:
\^
это буквальный ^ ..*?
Наименьшее количество символов, которое позволяет регулярному выражению соответствовать.~
это буквальный ~ ..*?
Образец работал для меня искать между персонажами ;
и <
. Таким образом, поиск НАЙТИ ;.*?<
ЗАМЕНУ ;
с параметрами, выбранными для Regular expression
и. matches new line
Ты захочешь найти \^.*?~
и убедиться . новая строка включена:
Это потому, что ^
имеет особое значение, оно соответствует началу строки. Таким образом, нам нужно избежать обратной косой черты \^
.
Запись ^*
будет соответствовать «любому количеству начала строки в строке». .*
соответствует «любому символу», но по умолчанию не соответствует переводу строки.
~
символов (или то есть несколько совпадений), это будет соответствовать первому ^
полностью или до последнего ~
.
*?
это не жадный, он ленивый .*?~
никогда не будет соответствовать больше, чем один ~
. Так что все в порядке.
Попробуйте использовать это регулярное выражение в разделе поиска, \^[^~]*~
чтобы заменить все между ^ и ~ включительно.
^~
.
\^[^~]*~
на ^~
?
У меня было похожее ЗАМЕСТИТЕЛЬНОЕ требование замены с начальным и конечным символами. Это пришло из внешнего вида электронной почты; сотни членов, и я просто хотел, чтобы имена людей со всем удаленным между <
RemoveTextHere>
.
оригинал
First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;
Деннис был близок к моему решению, Find what: \^.*?~
но я должен был изменить свои буквальные символы, Find what: \<.*?>
тогда я должен был удалить первую косую черту Find what: <.*?>
.
Обновлено Find what: <.*?>
; Заменить пустым.
First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4
_
Специальные символы : *
, $
, \
, +
, ^
, (
и )
, [
, ]
, {
и}
Джерри Джеремия описывает специальные символы здесь /programming/37742519/notepad-wildcard .