local $/; # Slurp
for (<DATA> =~ /(?:CWG)?\d{3,}/g) {
print "ID: $_\n";
}
__DATA__
123
123456,34567889
12345,CWG123456,1234
"Blah Blah 10-20 m can be taken into consideration 1234556"
123,30,40
http://www.takeithere.com/123456789/fig1,987643,34467889
Outputs:
ID: 123
ID: 123456
ID: 34567889
ID: 12345
ID: CWG123456
ID: 1234
ID: 1234556
ID: 123
ID: 123456789
ID: 987643
ID: 34467889
But is there a precise criteria that you can use to distinguish IDs from other numbers? What if it said "Blah Blah 100m can be taken into consideration 1234556", 100 isn't an ID but would still be matched. |