Как скопировать выделенный текст в блокнот ++
У меня есть часть исходного файла HTML, которая содержит строки, которые я хочу выбрать и скопировать сразу, используя регулярные выражения для Notepad ++.
Вот часть текстового источника:
<option value="Performance"
>Performance</option>
<option value="Maintenance"
>Maintenance</option>
<option value="System Stability"
>System Stability</option>
Я использую регулярное выражение "[0-9a-zA-Z ]*"
для поиска значений "значение". Я также выбрал функцию в Notepad ++ search, чтобы выделить/пометить найденный текст. Этот рабочий режим теперь я хочу скопировать или вырезать только выделенный текст в буфер обмена для дальнейшей обработки. Но я не могу найти эту функцию в Notepad ++. Это просто невозможно или я слишком тупой?
Ответы
Ответ 1
Попробуйте это вместо:
Сначала исправьте проблему окончания строки:
(Notepad ++ не допускает многострочные регулярные выражения)
Поиск [расширенный режим]: \r\n>
(или окончания вашей собственной системы)
Заменить: >
затем
Поиск [Режим реджекса]: <option[^>]+value="([^"]+)"[^>]*>.*
(если вы хотите все вхождения value
, а не только параметры, просто удалите ведущий option
)
Заменить: \1
Объяснение второго регулярного выражения:
<option[^>]+ Find a < followed by "option" followed by
at least one character which is not a >
value=" Find the string value="
([^"]+) Find one or more characters which are not a " and save them
to group \1
"[^>]*>.* Find a " followed by zero or more non-'>' characters
followed by a > followed by zero or more characters.
Да, он обрабатывает HTML с регулярным выражением - эти предупреждения - внимательно проверьте вывод.
Ответ 2
Как и в Notepad ++ 5.9, они добавили функцию "Удалить немаркированные строки", которая может использоваться для удаления всего, что вам не нужно, а также для поиска и замены для другого текста в каждой строке значений.
- Используйте функцию "Поиск → Найти → ", чтобы отметить каждую строку, которую вы хотите сохранить/скопировать, и не забудьте отметить "Линия закладок" перед тем, как пометить текст.
- Выберите Поиск → Закладка → Удалить немаркированные строки
- Использовать Поиск → Найти → Заменить, чтобы заменить другой текст, который вы не хотите сохранять/копировать без ничего
- Сохраните оставшийся текст или скопируйте его.
Вы также можете сделать аналогичную вещь, используя Search → Bookmark → Copy Bookmarked Lines
Таким образом, технически вы по-прежнему не можете копировать отмеченный текст, но вы можете отмечать строки с помеченным текстом, а затем выполнять различные операции с закладками или без отметки.
Ответ 3
Я добавляю это для полноты, так как это сообщение попадает в результаты поиска Google.
Вы можете скопировать все из поиска регулярных выражений, просто не в один шаг.
- Используйте знак в разделе "Поиск" и введите регулярное выражение "Найти что".
- Выберите закладку "Закладка" и нажмите "Отметить все".
- Нажмите "Поиск" → "Закладка" → "Скопировать закладки".
- Вставить в новый документ.
- Вам может потребоваться удалить ненужный текст в строке, которая не была частью регулярного выражения с поиском и заменой.
Ответ 4
Это была бы отличная возможность в Notepad ++. Я использую следующий метод для извлечения всех совпадений из файла:
powershell
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]*" -AllMatches | % { $_.Matches } | select-object Value > output.txt
И если вы хотите только отдельные совпадения в отсортированном списке:
powershell
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]" -AllMatches | % { $_.Matches } | select-object Value -unique | sort-object Value > output.txt
Ответ 5
Нет, с Notepad ++ 5.6.2 это не представляется возможным. Несмотря на то, что выбор столбцов (Alt + Selection) возможен, множественные выборы, очевидно, не реализованы и, следовательно, также не поддерживаются функцией поиска.
Ответ 6
У меня была та же проблема. Вы можете перечислить соответствия регулярных выражений на новой вкладке, каждое соответствие в новой строке в редакторе PSPad, которое очень похоже на Notepad ++.
Нажмите Ctrl + F для поиска, проверьте regexp opion, поместите регулярное выражение и нажмите "Список".
Ответ 7
Это невозможно с помощью Блокнота, но ЗДЕСЬ ЛЕГКОЕ РЕШЕНИЕ:
Вам понадобится бесплатное Expresso v3.1 http://www.ultrapico.com/ExpressoDownload.htm
Я прибегал к еще одной части бесплатного программного обеспечения: Expresso от Ultrapico.
- После установки перейдите на вкладку "Режим тестирования".
- Скопируйте REGEX в панель "Регулярные выражения".
-
Вставьте весь текст для поиска в панель "Пример текста" Expresso,
-
Нажмите кнопку "Запустить матч". Щелкните правой кнопкой мыши на панели "Результаты поиска" и "Экспортировать в..." или "Копировать согласованный текст в буфер обмена".
N.B.: Исходный автор - @Andreas Jansson, но он скрыт в комментарии, так как эта страница имеет высокий рейтинг в Google Search. Я оставляю ее здесь для других.