use strict;
my $str = '
Feb zi /
zozo
10
12030
nombre
fecha
01 / 2020
yl-20-2.020
FECHA: 2020-06-04 08:57:29
FECHA: 12 106 120
GARAG
marzo
15/2000
mayo 15/20
jul 1/20
Junio 17/20
S:
BUN
Centro Médico
FECHA:
05 06 - 2020
Warta carolina onerrez
Nombre:
1/6/200
ONDY Soklo
Fecha:
nFECHA: 2020-06-04 08:57:29
FECHA: 2020-06-04 08:57:2
Bogotá, 08/jun./2020
FECHA 11/06/2020
nBOGOTAOC - 10/06/2020
1/6/200
ONDY Soklo
Fecha:
echa 24-unio 12020
Fecha:
17.06.2020
FECHA:
2020
24 Junio
Fecha: 12 - vw
FECHA
VUNIO 18
18/2010
Jula 2020
FECHA:
05 06 - 2020
10 /m/ 200
2020
FECHA\\nTo\\nol06
\\n18106 12020\\n
204\\nFecha:
';
my $regex = qr/\b(0[1-9]|[12ilz][0-9ilzo]|3[01oil]|[1-9]|i|o[1-9zil]|i[1-9zil])[- \/.,
|i\)\(]{1,3}([a-zA-Z]*)(ne|eb|ar|(?<!nom)br|il|ay|yo|un|ni|io|ul|li|go|sto|ep|(?<!no)mbr|ct|ubr|ov|ic|en|ero|fe(?!cha)|ma|ab|ju|jo|ja|jn|ag|se|oc|nov|dic)([a-zA-Z]*)[- \/.,
|i\)\(]{1,3}[2z][0o][01269oizw]{0,2}\b/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