Vim正则表达式匹配标签或空格?

时间:2016-03-13 08:01:41

标签: regex vim

我想修剪以下字符串:

<tab>PACKAGE MAIN(字符串以制表符空格开头)

目标是仅将PACKAGE MAIN作为输出。

我已尝试使用参数

的以下VIM函数
let line = substitute (line, '\t+(.*)'      , '\1', 'g')
let line = substitute (line, '\t+\(.*\)'    , '\1', 'g')
let line = substitute (line, '\t\+\(.*\)'   , '\1', 'g')
let line = substitute (line, '[\s\t]+\(.*\)', '\1', 'g')

(还有更多)

VIM正则表达式在<tab>函数中匹配<space>substitute(空格)字符的准则是什么?

1 个答案:

答案 0 :(得分:2)

略微修改最后一个:

substitute (line, '[ \t]\+\(.*\)', '\1', 'g')

+必须以\为前缀才能获得神奇的含义。您可以将\s用于任何空格,而不是仅匹配空格和制表符的[ \t]