Я пытаюсь отличить, используя регулярные выражения, если readdir возвращает файл или папку.Где я делаю ошибку в этом регулярном выражении?
Это мой код:
opendir($dh, $_[0]) || die "Can't open folder!";
while(($filename = readdir($dh))){
if ($filename =~ /..*\...*/) {...}}
Идея этого регулярного выражения является то, что он требует, по крайней мере один символ до и после точки. Я тестировал это выражение (без «/» в начале и в конце) в онлайн-тестировщике регулярных выражений perl, и он работал, однако на самом деле условие всегда возвращает false.
Что я делаю неправильно? Спасибо
Должно работать, пожалуйста, укажите некоторые имена файлов, которые не совпадают. – Toto
Выражение работает, но вы должны написать '.. *' как '. +'. '+' означает «одно или несколько повторений» в PCRE. –
почему нет /.\../? – glezmen