use strict;
my $str = '"krombacher alkoholfrei mw. 24 x 0,33 l bier krombacher alkoholfrei alkohol ist entbehrlich, geschmack nicht das krombacher pilsener alkoholfrei ist eine vollmundige erfrischung. bierkenner werden von dem erfrischend isotonischen durstlöscher überzeugt sein, denn es ist das beliebteste alkoholfreie pils in deutschland. abgefüllt wird es in der 0,33 l mehrwegflasche mit 24 flaschen pro kiste. bestell noch heute bis 23.30 uhr und wir liefern schon morgen mit dem einzigartigen lockboxsystem. Und so weiter.";
"krombacher alkoholfrei mw. 24 x 0,33 l bier krombacher alkoholfrei alkohol ist entbehrlich, geschmack nicht das krombacher pilsener alkoholfrei ist eine vollmundige erfrischung. bierkenner werden von dem erfrischend isotonischen durstlöscher überzeugt sein, denn es ist das beliebteste alkoholfreie pils in deutschland. abgefüllt wird es in der 0,33 l mehrwegflasche mit 24 flaschen pro kiste. bestell noch heute bis 23.30 uhr und wir liefern schon morgen mit dem einzigartigen lockboxsystem. Und so weiter.";';
my $regex = qr/(.*[^"]+((?<=[.?!]\s).*lockbox.*(?<=[.?!]))[^"].*)/p;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html