2014-02-07 4 views
0

Мне нужно оценить некоторые строки (названия элементов), чтобы решить, соответствует ли элемент или нет с некоторыми правилами.Каков наилучший способ анализа такого ввода?

Что касается правил, подумайте о чем-то подобном.

((ball | balls) & messi) -ronaldo 

Смысл, если заголовок содержит либо ball или balls и messi (но not ronaldo) означает, что матч.

Как вы думаете, что это лучший способ достичь этого? (правило должно быть написано конечными пользователями и с четким синтаксисом, без регулярного выражения)

Спасибо!

+3

ваша собственная логическая реализация – Reddy

+0

Я использовал механизм XML-правил для подобных вещей в прошлом. Вот начальная точка: http://www.jessrules.com/docs/71/xml.html –

+3

Поскольку вы не говорите о регулярном выражении, почему вы включили тег регулярного выражения? –

ответ

0

Я нашел эту библиотеку Boolean Expressions и только что построил обертку, чтобы проанализировать ключевые слова и работать как шарм !!

0

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

Например -

(("ball" OR "balls") AND ("messi")) AND NOT ("ronaldo") 

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

Смежные вопросы