我有一个日期列表(YYYY-M或YYYY-MM),并希望前缀 0 在前9个月之前进行一致性测试。数据格式:YYYY-M或YYYY-MM格式的日期,后跟逗号和数字。 如:
0
2012-1,789 2012-11,563
2012-1,789 应更改为 2012-01,789 。条目“2012-11563”应保持不变。
2012-1,789
2012-01,789
正确的输出应为:
2012-01,789 2012-11,563
我尝试在Vim中遵循正则表达式。
:%s/-\(\d\),/-0\0,/g
但是,我得到了以下输出:
2012-0-1,789 2012-11,563
为什么我要额外冲刺 - 两位数之间?
-
捕获组号从开始 1 ,不是来自 0 .
1
因此,命令应该是:
:%s/-\(\d\),/-0\1,/g