Найти все совпадения с дополнительными квалификационными критериями

n00b спросил: 13 октября 2017 в 06:34 в: c#

Даны такие предложения, как;

Boy has a dog and a cat.
Boy microwaves a gerbil.
Sally owns a cat.

Для каждого предложения я хочу список животных (определяемых как "собака", "кошка" или "песчанка"), где "Мальчик" - это первое слово Для приведенного выше списка это будет;

['dog', 'cat']
['gerbil']
3rd sentence would not match.

Регулярное выражение;

dog|cat|gerbil

возвратит все совпадения, но не относится к boy ( третье предложение возвращает нежелательный "кот").

^Boy.*(dog|cat|gerbil)

Возвращает всю фразу до последнего соответствующего животного, например, "У мальчика есть собака и кошка", тогда как первая и единственная группа - "кошка".

Как получить список всех животных, связанных с "мальчиком" (то есть животных в предложениях, начинающихся с "мальчик")?


0 ответов