if (my ($match) = $s =~ /yesterday (.*?) after/s) { say $match; } #### yesterday foo yesterday bar after #### foo yesterday bar #### bar #### if (my ($match) = $s =~ /hello ((?:(?!yesterday).)*) yesterday/s) { say $match; }
## yesterday foo yesterday bar after ##
## foo yesterday bar ##
## bar ##
## if (my ($match) = $s =~ /hello ((?:(?!yesterday).)*) yesterday/s) { say $match; }