Я хочу найти группу, которая повторяется x раз друг за другом, например, пять раз комбинация букв и цифр, разделенных пробелом. Я могу использовать простой синтаксис повторения, например (?:\w\d ){5}
.
Затем я хочу заменить пробел в 5-буквенной цифре чем-то другим. Для этого я пытаюсь сделать обратную ссылку на каждую комбинацию букв и цифр (без пробела), поместив вокруг нее скобки: (?:(\w\d) ){5}
. К сожалению, все пять хранятся в $1
, т. Е. $1
перезаписывается при каждом совпадении.
Итак, есть ли способ избежать этой перезаписи? Или есть способ заменить что-то только в подстроке?
EDIT:
Пример входной строки: A1 A3 A4 B6 ::: A1 A3 A4 C5 B6
Желаемая строка вывода: A1 A3 A4 B6 ::: A1-A3-A4-C5-B6
Это значит, заменить пространство, только если их пять. Реализовано в Perl.