首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim Regex给出了错误的输出。

Vim Regex给出了错误的输出。
EN

Stack Overflow用户
提问于 2014-02-15 13:10:35
回答 1查看 41关注 0票数 1

我有一个日期列表(YYYY或YYYY),并希望在头9个月之前以0前缀表示一致性。数据格式:日期为YYYY或YYYY,后面跟着逗号和数字.例:

代码语言:javascript
复制
2012-1,789
2012-11,563

2012-1,789应改为2012-01,789。“2012-11,563”项应保持不变。

正确的产出应是:

代码语言:javascript
复制
2012-01,789
2012-11,563

我尝试遵循Vim中的正则表达式。

代码语言:javascript
复制
:%s/-\(\d\),/-0\0,/g

但是,我得到了以下输出:

代码语言:javascript
复制
2012-0-1,789
2012-11,563

为什么我要在两位数之间得到一个额外的-

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-15 13:12:23

捕获组号从1开始,而不是从0开始。

因此,命令应该是:

代码语言:javascript
复制
:%s/-\(\d\),/-0\1,/g
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21798031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档