Подтвердить что ты не робот

Как скопировать выделенный текст в блокнот ++

У меня есть часть исходного файла 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 ++. Это просто невозможно или я слишком тупой?

4b9b3361

Ответ 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. Я оставляю ее здесь для других.