我想找到一个彼此重复 x 次的组,例如,由空格分隔的字母数字组合五次。我可以使用简单的重复语法,例如(?:\w\d ){5}
.
然后我想用其他东西替换这个 5x 字母数字中的空格。为此,我尝试通过在其周围放置括号来反向引用每个字母数字组合(不带空格)(?:(\w\d) ){5}
:. 不幸的是,所有五个都存储在 中$1
,即$1
每次匹配时都会被覆盖。
那么,有没有办法避免这种覆盖?或者有没有办法只在子字符串中替换一些东西?
编辑:
示例输入字符串:A1 A3 A4 B6 ::: A1 A3 A4 C5 B6
所需的输出字符串:A1 A3 A4 B6 ::: A1-A3-A4-C5-B6
这意味着,仅当其中有五个时才替换空格。在 Perl 中实现。