2017-05-07 50 views
1

我在vim脚本中遇到以下字符串比较。如何在vim脚本中满足这种模式比较?

echo my_test_var =~ '\\\@<!`.*\\\@<!`' 

我想弄清楚,应该是什么的my_test_var值,以便比较返回1

+1

它匹配一个未经转义的反引号,然后匹配尽可能多的0+字符,直到最后一个未转义的反引号。像'\'这里有一些\ \'文本\''''' –

回答

1

在Vim中,01​​是一个否定后视结构,如果前面带有后视图案,则结果失败。因此,整个表达式将匹配像

`some \`text\` here` 

作为

  • \\\@<!`一个字符串 - 匹配不立即前面有一个反斜杠
  • .*一个反引号 - 比赛0+字符,多达可能的
  • \\\@<!` - 匹配没有立即加上反斜杠的反引号