Как извлечь данные, идущие после определенного слова?

Кросс-пост на Perlmonks

$String = "hello I went to the store yesterday and the day after and the day after";

Я хочу напечатать только слова я пошел в магазин . Я пробовал два способа, ни один из них не работал:

if ($String =~ /hello/i) {
    until ($String =~ /yesterday/i) {
        print "Summary: $'"
    }
}

Это напечатало всю строку. Я использовал функцию $', но это заняло слишком много данных. Как мне его ограничить?

Что, если я хочу напечатать только «вчера и послезавтра»? Как мне начать сопоставлять сценарий в середине?

-9
задан daxim 18 June 2012 в 20:36
поделиться