3

Я использую много регулярных выражений. Я использую EditPadpro для всех моих целей редактирования. Большую часть времени мне придется извлекать все совпадения регулярных выражений в файле в другой файл. Есть ли программное обеспечение, которое может сделать это?

Пример:

Во время работы с файлом контактов. Мне нужно извлечь все адреса электронной почты в другой файл.

5 ответов5

5

RegexBuddy, дочерний продукт EditPad Pro, делает это очень хорошо с помощью вкладки Grep. Будет проходить через папки и извлекать совпадения в файл. Это также отлично подходит для построения и тестирования регулярных выражений.

Используйте настройки, как показано ниже:

  • Вы можете добавить готовое регулярное выражение электронной почты на вкладке «Библиотека»
  • Убедитесь, что вы выбрали кнопку «Совпадение» на верхней панели инструментов
  • Введите сведения о файле на вкладке «Grep» и выберите «Сохранить результаты в один файл»

Вы можете проверить регулярное выражение, вставив часть своего файла на вкладку «Тест».

  • Нажмите «Выполнить» из раскрывающегося списка «Grep», чтобы запустить.

Скриншот RegexBuddy

2

Установите Cygwin, это даст вам очень функциональную Unix-подобную среду на Windows. Затем изучите основы grep, egrep, awk, sed или perl. Время очень хорошо вложено. Всего несколько примеров:

# extract email addresses from text.txt to emails.txt
egrep -o '[[:alnum:].]+@[[:alnum:].]+' < text.txt > emails.txt
# extract third whitespace separated column from lines starting with "DEBUG"
awk '/^DEBUG/ { print $3 }' < text.txt > debug.txt
# replace multiple whitespace characters with one space
perl -pe 's/[\t ]+/ /g' < text.txt > clean.txt
2

Grep

2

Я удивлен, что пока никто не заметил findstr . Он имеет, по крайней мере, элементарную поддержку регулярных выражений с ключом /r и существует в каждой последней версии Windows (по крайней мере до 2000).

1

Многие текстовые редакторы Windows (но не блокнот) включают функции "Поиск в файлах", которые поддерживают регулярные выражения.

PowerShell имеет Select-String который будет выполнять сопоставление регулярных выражений.

Или Windows grep порт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .