PHP Regex соответствия слов и ключевых фраз - PullRequest
0 голосов
/ 03 мая 2011

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

Keyterms:
* "яблоко"
* "банан"
* "клубника"
* "грушевый пирог"

Теперь, если какой-либо из этих ключевых терминов найден, он возвращает true. Однако, чтобы добавить немного больше сложности, термин «грушевый пирог» следует разделить на два ключевых слова, которые должны быть в строке, но не обязательно вместе.

Примеры строк, которые должны возвращать true:
* Отличный торт из груши
* Я люблю яблоки
* я люблю яблоки и бананы * мне нравятся пирожные из груши и яблок
* Мне нравятся торты из груш

Примечание. что мне не требуется граница конечного слова для множественного числа и т. д.

Спасибо за вашу помощь, просто не могу разобраться с регулярными выражениями ...

Ответы [ 2 ]

1 голос
/ 03 мая 2011
/\bapple|\bbanana|\bstrawberry|\bpear.*?\bcake|\bcake.*?\bpear/

если вам не требуются начальные границы слов, либо удалите \ b, но тогда крана также будет соответствовать.

0 голосов
/ 03 мая 2011

Как насчет:

/apple|banana|strawberry|pear.*?cake|cake.*?pear/

Если вы хотите сочетать яблоки или яблоки, торты или пирожные.Затем добавьте \ b к каждому слову и добавьте s? \ B в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...