Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

IvanStepanov

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey

Цитата:
Если я правильно понимаю, то ваша задача требует возможностей неточного сравнения текстовых данных (то есть, с переменной степенью похожести)

В идеале да. Но раз это так трудно - меня бы устроило нахождение просто одинаковых (без учёта пробельных разделителей) кусков.
 
Jonmey

Цитата:
поскольку в вашем случае к первой возможности необходима возможность плавающей выборки в анализируемых текстах.

Не понял. Поясните.
 
Jonmey

Цитата:
Но если первая задача при анализе даже десятков тысяч текстов длиной до 2тыс. символов между собой требует многочасовой работы достаточно мощного компа, то обе функции, даже если их реализовать в одной программе, потребуют мощности среднего суперкомпа.  

Ну реально работать придётся не со всей базой в несколько сотен тысяч файлов, а где-то с порядка 100...1000 файлами, которые я отфильтрую в самом архивариусе 3000 по ключевым словам и названиям файлов.
PowerGREP в таком массиве вполне у меня находит нужные мне куски по описанным мной REGEX-ам за 1...3 минуты на моем слабеньком ноуте.
Существуют программы поиска похожих картинок. Там алгоритм ещё более многожручий и тем не менее он находит лицо или похожие фотки среди нескольких достаточно шустро на обычном компе.
 
 
YuS_2

Цитата:
т.е. по сути, Вы желаете получить что-то типа:
 

Код:
(.*)(?=.*?\1)
 

Ну раз так с помощью регексов невозможно сделать - нужно переходить к грамматикам более высокого, чем ругулярные, порядка и программированию?
Смотрю сейчас в сторону текстового редактора EMACS. Он из коробки поддерживает написание скриптов на LISP.
А кроме того, поддерживает всплывающие подсказки к найденным и подсвеченным фрагментам.
 
Беглое чтение в инете говорит, что вроде как с помощью скриптов на ЛИСП можно реализовать более сложный PATTERN MATCHING, чем с помощью REGEX. Возможно есть и другие решения. В любом случае, как я понимаю, "с наскока" такую задачу не решить. Потребуется очень много времени на освоение нужного инструментария.
 
Ну хорошо.
 
А если я буду использовать не (.*), а что-то более определенное? Типа того, что Вы мне написали для поиска фрагментов, содержашего не менее 5-ти слов из заданного списка из 10 слов? Задача имеет же решение?
 
Т.е. раз реализовать нужную мне функцию, делающую всё в полном автомате трудно, то мне хотя бы в полуавтомате сделать. Т.е. что-то вручную набивать (REGEX-ы предположительно повторяющиеся фрагментов), а что-то выполнять автоматически
 
 
 
 
 

Всего записей: 136 | Зарегистр. 11-05-2019 | Отправлено: 12:17 20-05-2019
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru