Я хотел найти строку, которая совпадает с точным временем в другой строке, в то время как я столкнулся с некоторой проблемой.
use strict;
use warnings;
my $test="abc1234abc5678abcdef910";
my $cut_seq="abc";
print $test,"\tone time\n" if($test=~/$cut_seq{1}/);
print $test,"\tmore than one times\n" if($test=~/$cut_seq{1,}/);
Я ожидал результата:
abc1234abc5678abcdef910 more than one times
Но результат показал как:
abc1234abc5678abcdef910 one time
abc1234abc5678abcdef910 more than one times
Я тоже пробовал это:
print $test,"\tone time\n" if($test=~/$cut_seq{0,1}/);
print $test,"\tone time\n" if($test=~/$cut_seq{1,1}/);
print $test,"\tmore than one times\n" if($test=~/$cut_seq{1,}/);
Но ничего не изменилось. Мне просто интересно, почему это не может соответствовать точному времени. Если что-то совпадает два раза, это будет совпадать и один раз, тогда в чем разница {1}, {1,}, {1,1}, {1,2}. У меня нет смысла создавать эти разные формы.