use strict;
my $str = 'ajnxaslndsa;ndaJDASDNsadnKDNadk;NADK\'nadkAnaskdmaskdnajfbajfnakdnaj;knasjnakdna;jkdna;nda;dna;kdnas;dkns
so as sadasldka aldaskl . asdas asd 5,400 cgy
40.00 cgy
4 cgy
gleason score 6/10(4+3), = 7 )
1.1- 0.6,df
2,4-3,6 asdf 4+5+6
gleason\'s pattern: 2+3, 5
gleason score = 5(2+3)
score 1+2, (score 7)
gleason Dec 2011-23 jan
500,000.012 cgy sdfsfsodm sdfsd f
sdfsd afdas. s adasas dasd as
asdasdaskd askdm askdmas\'ljdnas;das.ndaskjndajkndWJDNAksz
(?P<core1>(?i)[A-Z0-9]+)[\\s]?((?i)out of|of|\\/)[\\s]?(?P<core2>(?i)[A-Z0-9]+)[\\s]?(?:(?i)core[s]?|needle core[s]?)
(?P<core1>(?i)[A-Z0-9]+)[\\s]?((?i)core[s]? out of)[\\s]?(?P<core2>(?i)[A-Z0-9]+)
(?:(?i)involving)[\\s]?(?P<core1>(?i)[A-Z0-9]+)[\\s]?(?:(?i)core[s]?|needle core[s]?)
1 of 3 core
one of three cores
involving 1/2 cores
involving five of six cores
two of the cores
one of multiple cores
1 of multiple cores
two of 4 cores
5 of six cores
(1/8 needle cores)
(3/7 cores)
one out of six cores
two cores out of two
1 core out of 2
involving 1 core
involving two cores
gleason score 9, 4+5=9/10,
PSA = 27.60, 8 specimens
{0,1SDf00}
10% 20%
(?<=(?i)gleason)[\\w\\s\\p{P}\\=]*[^0-9\\.\\+]*\\s*\\K(\\d)\\s*\\+\\s*(\\d)(?=\\D)
(?<=(?i)gleason)[\\w\\s\\p{P}\\=]*[^0-9\\.\\+]*\\s*\\K(\\d)\\s*\\+\\s*(\\d)(?=\\D)
(?<=(?i)gleason)[\\w\\s\\p{P}\\=]*[^0-9\\.\\-]*\\s*\\K(\\d)\\s*\\-\\s*(\\d)(?=\\D\\-)
(?<=(?i)gleason)[\\w\\s\\p{P}\\=]*[^0-9\\.\\,\\#]*\\s*\\K(\\d)\\s*\\,\\s*(\\d)(?=\\D)
[\\w\\s\\p{P}\\=]*[^0-9\\.\\+]*\\s*\\K(\\d)\\s*\\+\\s*(\\d)(?=\\D)
[\\w\\s\\p{P}\\=]*[^0-9\\.\\-]*\\s*\\K(\\d)\\s*\\+\\s*(\\d)(?=\\D\\-)
(?<=[\\\\s])\\\\s*|^\\\\s+|\\\\s+$
';
my $regex = qr/(?P<core1>(?i)[A-Z0-9]+)[\s]?((?i)out of|of|\/)[\s]?(?P<core2>(?i)[A-Z0-9]+)[\s]?(?:(?i)core[s]?|needle core[s]?)/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