我想在vim
中找出以下字符串模式,并将其替换为其他内容。你能否告诉我regex
同样的事情。
1.
11.
20.
21.
99.
基本上是一个/两个数字后跟点。
答案 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”。也将被捕获