如何使用Unix正则表达式将数字与字母分开?

时间:2018-10-04 17:18:23

标签: regex vim

如何使用Unix正则表达式将数字和字母分开?

示例:133748414T

我尝试过:

%s/^[0-9][0-9]*/^I/g

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用

\v

在这里

  • (\d)@<=-启用魔术模式
  • (\D)@=-当前位置左侧的位置应以数字开头
  • \t-当前位置右边的位置后面应跟一个数字
  • g-替换为TAB字符
  • %s/\v(\d)@<=(\D)@=|(\D)@<=(\d)@=/\t/g -替换所有出现的内容。

如果您还需要在数字和数字之间添加制表符,请使用

(\D)@<=(\d)@=

Expected_Output替代分支模式的构建与上一个类似。

答案 1 :(得分:0)

如果始终以数字开头:

%s/\ze\D/\t