@Tamago4a

Почему не работает регулярное выражение?

Есть такая программа называется emeditor. Это можно сказать, продвинутый notepad++. Это текстовый редактор который умеет редактировать сверхогромные файлы. Так вот фишка в том что он отказывается производить регулярные выражения(фильтр специально настроенный из разных метасимволов и вставленный в поле "найти-заменить"). Но когда я создаю новый txt файл и вставляю туда тот же самый текст и пробую уже этот файл делать, всё резко начинает работать.

Нужна небольшая софтинка(или другое, с вашей профессиональной точки зрения, решение) в которую можно будет вставить путь где лежит большое количество файлов, а далее она делала бы копию каждого файла. Но это не означает что нужно просто сделать ctrl + c и ctrl + v, а именно создать новый файл и перекопировать туда текст из старого файла. Тогда этот txt файл будет нормально производить регулярки.

Сама регулярка
^(.{0,7})\r\n|^([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])\r\n


Что делает регулярка? Убирает строки в которых меньше 8 символов и убирает строки которые состоят из восьмизначных чисел. И да... это база для брута handshake'ов.

Пример файла в котором у меня не работает регулярные выражения.
https://download.weakpass.com/wordlists/50/10_mill...

Что я уже пробовал:
1. Команду copy через консоль. Да она копирует хорошо, но файлы не работают всё равно.
2. Менять кодировку на utf8, win1251(кажется так) и т. д. и это то же не помогает.
  • Вопрос задан
  • 526 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Смотрите. У вас в файле абзацы по-другому устроены и при копировании они заменяются на виндовый формат.
Ваш регексп можно чуточку упростить:
^(.{0,7})\r\n|^([0-9]{8})\r\n
Для того, чтобы регексп работал на данном файле с теми абзацами что там есть, нужно использовать \n вместо \r\n.
Ещё раз...
В файле абзацы состоят из символа "OA". Ваш регексп в качестве абзацев ожидает пары "OD 0A". При копировании\вставке текста в редакторе в новый файл абзацы заменяются на станартные для данной ОС и данного редактора. Ваш редактор поддерживает юникс-формат абзацев, но по умолчанию использует именно виновый из двух символов. Вы можете сделать регексп универсальным поставив вопросик после символа \r.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы