Ответ 1
Я написал многострочный поиск и замену надстройки для Notepad++, посмотрите здесь: http://www.phdesign.com.au/programming/toolbucket-multi-line-search-plugin-for-notepad/
(источник: phdesign.com.au)
Есть ли способ найти абзац?
Например, я хочу найти этот код:
<?php
$radio_buttons++;
}
?>
Но когда я пытаюсь скопировать это в окно поиска, копируется только первая строка, <?php
.
Кажется, что определенно есть способ сделать это, но я просто не могу его найти. Может быть, это аддон?
Я написал многострочный поиск и замену надстройки для Notepad++, посмотрите здесь: http://www.phdesign.com.au/programming/toolbucket-multi-line-search-plugin-for-notepad/
(источник: phdesign.com.au)
Как Xenovoyance предлагает, возможно с CTRL + R (также найденный в опции меню TextFX > TextFX Quick > Найти/заменить):
Просто выберите текст для поиска, а затем вызовите этот параметр...
ОБНОВЛЕНИЕ: Пользователь Żabojad дал мне понять, что в последних выпусках Notepad ++" TextFX плагин не установлен по умолчанию, поэтому сначала вам нужно сделать одну из двух вещей:
Самый простой: перейдите в пункт меню Плагины > Диспетчер плагинов > Показать диспетчер плагинов, прокрутите список доступных плагинов до " TextFX Characters" и установите его.
Вышеупомянутый способ должен работать, но в противном случае вы перейдете на эту страницу: http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/
и загрузить файл TextFX.v0.26.unicode.bin.zip
затем извлеките его содержимое (не просто скопируйте zip файл) в подпапку
\plugins
папки установки Notepad ++ Install Folder
После перезапуска Notepad ++ вы увидите запись меню TextFX.
Так как Notepad ++ 6.0 работает поиск регулярных выражений для нескольких строк.
Поиск вашего кода будет чем-то вроде
<?php.*\r\n.*$radio_buttons++;.*\r\n.*}.*\r\n.*?>
. * - это просто шаблон для любого количества символов (кроме разрывов строк). Вы также можете переключить флажок в диалоговом окне "Блокнот ++" (называемый . Соответствует новой строке), чтобы включить разрывы строк.
Подробное описание см. в главном ответе на этот вопрос:
Насколько мне известно, Notepad ++ не поддерживает многострочные регулярные выражения, поэтому вам нужно будет сделать это, заменив каждый разрыв строки символами разрыва строки для вашей операционной системы (скорее всего, \r\n
). Подробнее см. Найти CRLF в Notepad ++.
Cntrl+C
приведенный выше текст, который вы хотите найти, и Cntrl+V
в новый пустой документ в Notepad ++, затем выберите его еще раз и нажмите Cntrl+F
. Вы увидите текст в поле "Найти" с вкладками, когда линия разрывается. Нет необходимости в плагинах.
Я нашел следующий поток по теме: Поиск и замена многострочного регулярного выражения!
Рекомендуем попробовать CTRL + R!
Несколько строк могут быть переданы для поиска и замены полей, только если окончание строк установлено в форме Unix. Это можно сделать через Edit> EOL Conversion> Unix
Затем вы можете вручную скопировать многострочный абзац в поле поиска.
После этого просто конвертируйте окончания строк обратно в Windows через "Правка"> "Преобразование EOL"> "Windows".
Для Notepad ++ v5.8.7 + плагин TextFX для Unicode установлен по умолчанию, поэтому для использования CTRL + R вам необходимо установить TextFX Characters
плагин с помощью диспетчера подключаемых модулей.
Существует обходное решение:
Измените режим поиска на Extended и замените "return-newline" s на \r\n
например
<?php\r\n $radio_buttons++;\r\n }\r\n?>
Проблема в том, что вам нужно знать пустое пространство (не показано выше).
Может быть, может работать регулярное выражение?
Проверьте параметр меню TextFX. Это похоже на то, что он поддерживает поиск нескольких строк.