正则表达式为两位数后跟。用于在vim中查找和替换

时间:2013-11-24 12:20:18

标签: regex vim

我想在vim中找出以下字符串模式,并将其替换为其他内容。你能否告诉我regex同样的事情。

 1.
11.
20.
21.
99.

基本上是一个/两个数字后跟点。

3 个答案:

答案 0 :(得分:6)

我认为你可以做类似下面的事情(我对VI不太熟悉,所以可能有更好的方法)

:%s/\d\+\./MyString/gc

因此,基本上使用\d\+\.来搜索出现一次或多次后跟.的数字。

MyString是您的替换字符串。

:%s是替换命令,:s只搜索当前行。

/gc查找匹配项的次数(g),并在每次替换前请求确认(c)。

答案 1 :(得分:1)

1或2位数后跟一个点的正则表达式为:

\<\d\d\?\.

“单词边界”\<排除了3位数(和一个点),没有它就会被允许(3位数的最后两位数字匹配)。

在vi中使用此tegex替换:

s/\<\d\d\?\./foo/g

答案 2 :(得分:0)

试过这个?

[^0-9][0-9][0-9]\.

或者你尝试过它并没有用?

虽然有三个数字和一个点,但是有一个问题,即“123”。也将被捕获