Пользователь вводит набор имен с акцентами и тильдами:
Renato Núñez, David DeJesús, and Edwin Encarnación
У моей базы данных есть англизированные имена для этих людей.
@names = ('Renato Nunez','David DeJesus','Edwin Encarnacion');
Я хочу сделать регулярное выражение для этих имен.
$string = "Renato Núñez, David DeJesús, and Edwin Encarnación";
foreach my $name (@names) {
print "found:$name\n" if ($name =~ /$string/);
}
В настоящее время я не вижу совпадений.
Я пробовал это, но это не сработало.
$string = "Renato Núñez, David DeJesús, and Edwin Encarnación";
foreach my $name (@names) {
$name =~ s|a|[áa]|;
$name =~ s|e|[ée]|;
$name =~ s|i|[íi]|;
$name =~ s|o|[óo]|;
$name =~ s|u|[úu]|;
$name =~ s|n|[ñn]|;
# Originally: print "found:$name\n" if ($name =~ /$string/);
# Corrected to:
print "found:$name\n" if ($string =~ /$name/);
}
EDIT: извините, у меня было $name и $string в последней строке.
Любые предложения?