use strict;
my $str = '{
"ImsManifestIdentifier": "MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58",
"PackageGuid": "ab8b5d84-b165-4806-a5fc-58d00ce2a195",
"PackageVersie": 223296366,
"ToetsGuid": "09f5836d-285a-4970-ad93-fb9610201e15",
"ToetsVersie": 10001,
"RuweScore": "0",
"Vaardigheid": "0",
"Afronding": "1",
"SchoolTypes": {
"VOVMBO": "1",
"MBO2": "1",
"MBO3": "1"
}
}, {
"ImsManifestIdentifier": "MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58",
"PackageGuid": "ab8b5d84-b165-4806-a5fc-58d00ce2a195",
"PackageVersie": 223296366,
"ToetsGuid": "09f5836d-285a-4970-ad93-fb9610201e15",
"ToetsVersie": 10001,
"RuweScore": "1",
"Vaardigheid": "14,0",
"Afronding": "1",
"SchoolTypes": {
"VOVMBO": "1,1",
"MBO2": "1,1",
"MBO3": "1"
}
}, {
"ImsManifestIdentifier": "MMANIFEST-2b0b0b9e-6a3c-4af6-ac18-903355ffab58",
"PackageGuid": "ab8b5d84-b165-4806-a5fc-58d00ce2a195",
"PackageVersie": 223296366,
"ToetsGuid": "09f5836d-285a-4970-ad93-fb9610201e15",
"ToetsVersie": 10001,
"RuweScore": "2",
"Vaardigheid": "23",
"Afronding": "1",
"SchoolTypes": {
"VOVMBO": "2,5",
"MBO2": "2,5",
"MBO3": "1,5"
}
}';
my $regex = qr/(.*)(Afronding)([0-9\"\.\s:]*)(,\n)/mp;
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