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