use strict;
my $str = '<!DOCTYPE html>
<html dir="ltr" lang="en" xml:lang="en">
<div id="page" class="container-fluid clearfix">
<div id="page-content" class="row-fluid">
<div id="region-bs-main-and-pre" class="span9">
<div class="row-fluid">
<section id="region-main" class="span8 pull-right">
<div role="main"><span id="maincontent"></span><div class="no-overflow"><table cellspacing="0" id="overview-grade" class="flexible boxaligncenter generaltable"><thead><tr><th class="header c0" scope="col">Course name<div class="commands"></div></th><th class="header c1" scope="col">Grade<div class="commands"></div></th></tr></thead><tbody><tr class="" id="grade-report-overview-45567_r0"><td class="cell c0" id="grade-report-overview-45567_r0_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=723&user=45567">[BIOL 107 Section 1] Concepts in Biology</a></td><td class="cell c1" id="grade-report-overview-45567_r0_c1">-</td></tr><tr class="" id="grade-report-overview-45567_r1"><td class="cell c0" id="grade-report-overview-45567_r1_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=5153&user=45567">[CENG 230 All Sections] Introduction to C Programming</a></td><td class="cell c1" id="grade-report-overview-45567_r1_c1">-</td></tr><tr class="" id="grade-report-overview-45567_r2"><td class="cell c0" id="grade-report-overview-45567_r2_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3054&user=45567">[CENG 230 Section 7] Introduction to C Programming</a></td><td class="cell c1" id="grade-report-overview-45567_r2_c1">-</td></tr><tr class="" id="grade-report-overview-45567_r3"><td class="cell c0" id="grade-report-overview-45567_r3_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3538&user=45567">[ENG 101 Section 40] English for Academic Purposes I</a></td><td class="cell c1" id="grade-report-overview-45567_r3_c1">37.25</td></tr><tr class="" id="grade-report-overview-45567_r4"><td class="cell c0" id="grade-report-overview-45567_r4_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=3208&user=45567">[FDE 101 Section 1] Introduction to Food Engineering</a></td><td class="cell c1" id="grade-report-overview-45567_r4_c1">55.33</td></tr><tr class="" id="grade-report-overview-45567_r5"><td class="cell c0" id="grade-report-overview-45567_r5_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=5358&user=45567">[MATH 119 All Sections] Calculus with Analytic Geometry</a></td><td class="cell c1" id="grade-report-overview-45567_r5_c1">-</td></tr><tr class="" id="grade-report-overview-45567_r6"><td class="cell c0" id="grade-report-overview-45567_r6_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=578&user=45567">[MATH 119 Section 15] Calculus with Analytic Geometry</a></td><td class="cell c1" id="grade-report-overview-45567_r6_c1">-</td></tr><tr class="" id="grade-report-overview-45567_r7"><td class="cell c0" id="grade-report-overview-45567_r7_c0"><a href="https://odtuclass.metu.edu.tr/course/user.php?mode=grade&id=219&user=45567">[PHYS 105 Section 16] General Physics I</a></td><td class="cell c1" id="grade-report-overview-45567_r7_c1">-</td></tr><h3>Courses I am taking</h3><br /><tr class="emptyrow" id="grade-report-overview-45567_r8"><td class="cell c0" id="grade-report-overview-45567_r8_c0"></td><td class="cell c1" id="grade-report-overview-45567_r8_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r9"><td class="cell c0" id="grade-report-overview-45567_r9_c0"></td><td class="cell c1" id="grade-report-overview-45567_r9_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r10"><td class="cell c0" id="grade-report-overview-45567_r10_c0"></td><td class="cell c1" id="grade-report-overview-45567_r10_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r11"><td class="cell c0" id="grade-report-overview-45567_r11_c0"></td><td class="cell c1" id="grade-report-overview-45567_r11_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r12"><td class="cell c0" id="grade-report-overview-45567_r12_c0"></td><td class="cell c1" id="grade-report-overview-45567_r12_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r13"><td class="cell c0" id="grade-report-overview-45567_r13_c0"></td><td class="cell c1" id="grade-report-overview-45567_r13_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r14"><td class="cell c0" id="grade-report-overview-45567_r14_c0"></td><td class="cell c1" id="grade-report-overview-45567_r14_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r15"><td class="cell c0" id="grade-report-overview-45567_r15_c0"></td><td class="cell c1" id="grade-report-overview-45567_r15_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r16"><td class="cell c0" id="grade-report-overview-45567_r16_c0"></td><td class="cell c1" id="grade-report-overview-45567_r16_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r17"><td class="cell c0" id="grade-report-overview-45567_r17_c0"></td><td class="cell c1" id="grade-report-overview-45567_r17_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r18"><td class="cell c0" id="grade-report-overview-45567_r18_c0"></td><td class="cell c1" id="grade-report-overview-45567_r18_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r19"><td class="cell c0" id="grade-report-overview-45567_r19_c0"></td><td class="cell c1" id="grade-report-overview-45567_r19_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r20"><td class="cell c0" id="grade-report-overview-45567_r20_c0"></td><td class="cell c1" id="grade-report-overview-45567_r20_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r21"><td class="cell c0" id="grade-report-overview-45567_r21_c0"></td><td class="cell c1" id="grade-report-overview-45567_r21_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r22"><td class="cell c0" id="grade-report-overview-45567_r22_c0"></td><td class="cell c1" id="grade-report-overview-45567_r22_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r23"><td class="cell c0" id="grade-report-overview-45567_r23_c0"></td><td class="cell c1" id="grade-report-overview-45567_r23_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r24"><td class="cell c0" id="grade-report-overview-45567_r24_c0"></td><td class="cell c1" id="grade-report-overview-45567_r24_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r25"><td class="cell c0" id="grade-report-overview-45567_r25_c0"></td><td class="cell c1" id="grade-report-overview-45567_r25_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r26"><td class="cell c0" id="grade-report-overview-45567_r26_c0"></td><td class="cell c1" id="grade-report-overview-45567_r26_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r27"><td class="cell c0" id="grade-report-overview-45567_r27_c0"></td><td class="cell c1" id="grade-report-overview-45567_r27_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r28"><td class="cell c0" id="grade-report-overview-45567_r28_c0"></td><td class="cell c1" id="grade-report-overview-45567_r28_c1"></td></tr><tr class="emptyrow" id="grade-report-overview-45567_r29"><td class="cell c0" id="grade-report-overview-45567_r29_c0"></td><td class="cell c1" id="grade-report-overview-45567_r29_c1"></td></tr></tbody></table></div></div> </section>
</div>
</div>
</div>
</div>
</body>
</html>
';
my $regex = qr/<a\s*[^>]*?>(?![^<]*?All).*?<\/a>/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