Я хотел был бы сопоставить и получить последовательность, такую как abababab
, используя счетчик повторений {n}
.Perl соответствует двум символам с номером повторения
Это регулярное выражение
my $rec = "xxxxxxababababxxxxxx";
$rec =~ /(ab{4})/;
print $1,"\n";
не работает, потому что {4}
относится только к b
. Как заставить счетчик применяться к нескольким символам?
Большое спасибо. Мне действительно интересно, где я могу найти такой синтаксис. Я просмотрел несколько книг perl и веб-сайты и не смог найти это решение. – giordano
Ввод «perldoc perlre» в командной строке даст вам полную документацию для регулярных выражений Perl. –
@giordano: шаблон будет работать нормально, используя обычные скобки для скобок '/ ((ab) {4}) /', но он немного менее эффективен, потому что он каждый раз захватывает 'ab' в' $ 2'. Существует много конструкций, которые начинаются с '(?' И они называются [* extended patterns *] (http://perldoc.perl.org/perlre.html#Extended-Patterns). – Borodin