vim正则表达式
以下文本中有个id: 3,我想将所有id+4,改成id: 7, 在vim中输入:
:%s/id: \+\(\d\+\)/\=printf("id: %d",submatch(1)+4)/
cconfirm,每次替换前询问;eerror, 不显示错误;ggloble,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;iignore,忽略大小写
表示数量的元字符
| 元字符 | 说明 |
|---|---|
| * | 匹配0-任意个 |
| \+ | 匹配1-任意个 |
| \? | 匹配0-1个 |
| \{n,m} | 匹配n-m个 |
| \{n} | 匹配n个 |
| \{n,} | 匹配n-任意个 |
| \{,m} | 匹配0-m个 |
表示位置的元字符
| 元字符 | 说明 |
|---|---|
| $ | 匹配行尾 |
| ^ | 匹配行首 |
| \< | 匹配单词词首 |
| \> | 匹配单词词尾 |


浙公网安备 33010602011771号