После нескольких часов поиска я решил задать этот вопрос. Почему это регулярное выражение: ^(dog).+?(cat)?
не работает, поскольку я думаю, что он должен работать (захватить первую собаку и кошку, если она есть)? Что мне здесь не хватает?
dog, cat
dog, dog, cat
dog, dog, dog