Взятие из списка регуляр. в. предложение.

dini

Client
Регистрация
18.04.2015
Сообщения
3
Благодарностей
1
Баллы
3
Здравствуйте, господа :-)

Уже порядка 12 часов ломаю голову над тем, как реализовать парсинг из списка предложения, который бы содержал ключевые слова. Делаю сейчас след. образом: "слово\ ещё\ одно "
Суть проблемы в том, что искомое предложение может быть в виде: "одно\ слово\ ещё" в таком случае результат отрицательный выходит.
А если конкретнее, то мне нужна брать предложение в которой содержаться ключевые слова, а порядок какой не имеет никакого значение. Благодарю за внимание, если есть возможность, то будьте добры :-) подскажите.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
пропишите в виде ключ1|ключ2|ключ3
В таком виде возьмутся все совпадения со всеми ключами.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Я так понимаю ТС нужно чтобы было наличие всех слов, тогда только в цикле искать каждое и сравнивать результат парсинга с пустотой. И успехом считать только если все проверки прошли.
 

dini

Client
Регистрация
18.04.2015
Сообщения
3
Благодарностей
1
Баллы
3
пропишите в виде ключ1|ключ2|ключ3
В таком виде возьмутся все совпадения со всеми ключами.
Благодарю за внимание и что уделили время, ZennoScript. Я не совсем это хотел сделать, но по истечении ещё 18 часов работы в итоге реализовал так, как Вы написали, только в окончания крайних 2 букв заменял на ".*".

Я так понимаю ТС нужно чтобы было наличие всех слов, тогда только в цикле искать каждое и сравнивать результат парсинга с пустотой. И успехом считать только если все проверки прошли.
Благодарю за внимание и что уделили время, Rostonix. Да, именное, это и имеется ввиду. Вероятное не совсем полно описал ситуацию того, чего мне надо достичь.

У меня идет сначала парсинг, где в "Список 1" закидывается от 10-20+ текстовых предложений, это могут быть несколько большие или меньше. Суть в том, что затем идет удаление все тех, которые не удовлетворяются ключевиком.
Ключевое слово может быть разбросана по тексту предложения, т.е. в начале идет 1, в середине 2, в конце 3, а в некоторых случаях, какое то слово из ключевика может несколько раз повторятся.

Приоритетом является взятие (или оставление после удаление регуляркой) тех предложений, в которых "точно" есть каждый ключевик.
До этого Я реализовал это с точным вхождением, т.е. в случае, если в "Списке 1" не оставались варианты, то в таком случае от ключевика отсекалась (если имелся предлог, то он тоже отсекался) крайнее слово, например: "купить слона в москве", в случае отсутствия не соответствия по регуярке "купи.* сло.* моск.*" отсекается моск.* > далее "купи.* сло.*".

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

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Может тогда проще сделать? Есть список, в нем предложения, берем в цикле разные слова-регулярки и экшеном Операции со списком - Удалить строки, не удовлетворяющие регулярному выражению, пройтись каждым. В итоге останутся только стройки в которых есть все.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)