2

我们可以使用正则表达式用 REPEATED 模式替换匹配模式吗?

例如:目标字符串是“abc2:4def”,我想要的是abc2222def,这意味着“4”是目标字符串中的转发器,我想将我的字符串组合回“未压缩”格式。

我可以想到后面的引用sed

sed 's/\([0-9]+\):\([0-9]\)/\1\\{\2\\}/' #\1 to match "2" and \2 to match "4".

\\{n\\}就是重复n次,可惜那行不通。

我想知道它是否可以得到支持REGEX。有什么建议吗?

我知道我们可以通过其他工具来实现它,但目前我只能使用一些REGEX功能。

这是我在stackoverflow中的第一篇文章,如果我遗漏了什么,请告诉我。

4

1 回答 1

0

Perl,我能够做到这一点:

$ echo abc2:4def | perl -lne 'print $1 . $2 x $3 . $4 if m/^(\w+)(\d):(\d)(.*)/;'
abc2222def
于 2012-10-18T01:47:27.567 回答