use strict;
my $str = 'where sucts.
1. The objectives of the STh other arrangements are not inconsistent or in conflict with this licence
or the STC or other relevant statutory requirements.
3. The objectives of the STC referred to in sub-paragraph 1(c) are the:
(a) efficient discharge of the obligations imposed upon transmission licensees by
transmission licences and the Act;
(b) compliance with the Electricity Regulation and any relevant legally binding
decision of the European Commission and/or the Agency.
4. The STC shall provide for:
(a) there to be referred to the Authority for determination such matters arising under
the STC as may be specified in the STC;
(b) a copy of the STC or any part(s) thereof
5. We know that
the Agency does
good work.
';
my $regex = qr/^\d+\.\s+(?:(?!^\d+\.\s).)*\bthe Agency\b(?:(?!^\d+\.\s).)*/msp;
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