匹配行开头的第一个单词(Vim)

时间:2015-02-04 14:17:10

标签: regex vim

示例:

# Objects:
math =
  root: Math.sqrt
  square: square
  cube: (x) -> x * square x

# Splats:
race = (winner, runnners...) ->
  print winner, runners

我希望匹配cuberace(存储函数的变量/对象)。

我意识到我无法使用^\w,因为它与后面的空格不匹配,例如cube

在这种情况下我应该使用什么正则表达式?

1 个答案:

答案 0 :(得分:2)

使用您当前的示例,此模式将找到这些文本:

/\zs\S\+\ze\s*[:=]\s*(

它匹配文本,后跟任意数量的空格,然后是:=,然后是任意数量的空格,然后是(。我希望这就是你要找的东西。

我使用\S\+代替\w,因为如果像-, # etc.这样的字符也可以用作变量名,我就不会知道。