删除perl字符串中的后续前缀

时间:2013-11-14 00:19:43

标签: regex string perl

我有一个需要重新格式化的文件,其中包含如下字符串:

  

pin_name [10],pin_name [9],pin_name [8],...,other_pin_name,some_other_pin_name [1],some_other_pin_name [0]

我想要获得的是这样的字符串:

  

pin_name [10],[9],[8],...,other_pin_name,some_other_pin_name [1],[0]

所以,我想删除所有后续的重复前缀,只留下不同的后缀。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

perl -pe 's/\b((\w+)\[\d+\])((?:,\s*\2\[\d+\])+)/$a=$1;$b=$3;$b=~s,$2,,g;$a.$b/eg'