У меня есть предложение (слова, разделенные пробелами).
Затем у меня есть два списка фраз (полные или частичные слова, т. е. не содержащие пробелов): один — список «включить», а другой — список «исключить».
Соответствующее предложение будет содержать все фразы из списка «включить» (перекрытия допустимы, регистр не учитывается) и ни одну фразу из списка «исключить».
Как проверить, соответствует ли предложение правилам? Спасибо.
Пример
Предложение = This yammy Flybe catalog is sticky
Включить список = cat
fly
tic
Список исключений = veg
pot
yam
Тест не пройден, потому что, несмотря на то, что в предложении присутствуют все фразы «включить», одна из фраз «исключить» (yam
) все же присутствует. Измените слово yammy
на yummy
, и тест должен пройти.
P.S. в настоящее время для этого используется реализация разделения отношений в SQL, которая кажется хорошо оптимизированной, когда данные уже находятся в базе данных SQL. Теперь у меня есть структура данных, поступающая из внешнего источника. Я полагаю, что мог бы передать строки с разделителями, разделить на строки таблицы и т. д., но я хочу изучить другие варианты. Итак, если не регулярное выражение, то что?