Не слишком сложно.Вы можете следить за изменением заглавных букв в расширении, например JPG
.Если это вызывает озабоченность, вы можете добавить (?i)
перед расширением.
Вы также можете запретить частичные имена, например, отменить совпадение, которое содержит более 9 цифр.Это часть (?<!\d)
: убедитесь, что никакие цифры не предшествуют совпадению.
ETA: теперь извлекает несколько совпадений, благодаря ikegami.
while (<>) {
for (/(?<!\d)([0-9]{9}[a-z]{6}\.(?i)jpg)/g) {
say;
push @match, $_;
}
}