我想用每个行中的日期时间字符串替换每一行。
输入
D¬ng ThÞ Anh 19/02/1992 TH12B 10.0 5.0
La C«ng TuÊn Anh 30/01/1995 TH12A 8.5 6.5
NguyÔn §øc Anh 14/10/1995 TH12B 10.0 5.5
Ph1m Tïng Anh 10/04/1994 HTTT11 1.0 4.5
输出
19/02/1995
30/06/1995
14/11/1995
10/03/1994
我尝试使用以下命令:
:'<,'>s/[^=\d{2}\/\d{2}\/\d{4}]/ /g
但是有些不对劲。
我需要更改以使命令有效吗?
答案 0 :(得分:2)
你不能简单地否定&#34;否定&#34;正则表达式;对于某些情况,可以写入反转模式,但这不是一般解决方案。
相反,您必须匹配整行并捕获要保留的文本。在:substitute
的替换部分中,只需引用已捕获的组(\1
)即可。这是一种常见的模式:
%s#.*\<\(\d\+/\d\+/\d\+\)\>.*#\1#
注意:我在这里使用了#
分隔符,以避免模式中出现/
的转义。
答案 1 :(得分:0)