Regex ungreedy с левой стороны (т. е. самое узкое совпадение из обе стороны)

Допустим, я пытаюсь сопоставить /dog.*lab/ с этим текстом:

"У меня есть собака. Моя собака - черная лаборатория. Он был создан в лаборатории. «

Жадно, это будет соответствовать» собака. Моя собака - черная лаборатория. Он был создан в лаборатории ".

Я хочу найти спички, которые являются самыми узкими с обеих сторон. Если я использую модификатор uncreedy, например
/ dog. *? Lab / или /dog.*lab/U будет соответствовать меньше, но все равно слишком много:
"собака. Моя собака - черная лаборатория "

Есть ли способ сделать мой поиск нелицеприятным слева также, сопоставляя таким образом только" собака - черная лаборатория "?

Большое спасибо. Извините за надуманный пример.

5
задан Wiseguy 19 April 2011 в 12:23
поделиться