匹配行首的第一个单词 (Vim)
Match first word at the beginning of a line (Vim)
示例:
# Objects:
math =
root: Math.sqrt
square: square
cube: (x) -> x * square x
# Splats:
race = (winner, runnners...) ->
print winner, runners
我想匹配 cube
和 race
(存储函数的 variables/objects)。
我意识到我不能使用 ^\w
因为它不会匹配后面带有 space 的单词,例如 cube
.
在这种情况下我应该使用什么正则表达式?
对于您当前的示例,此模式会找到这些文本:
/\zs\S\+\ze\s*[:=]\s*(
它匹配文本,后面跟着任意数量的空格和 :
或 =
,然后是任意数量的空格,然后是 (
。我希望这就是您要找的。
我用了\S\+
而不是\w
,因为我不知道像-, # etc.
这样的字符是否也可以用作变量名。
示例:
# Objects:
math =
root: Math.sqrt
square: square
cube: (x) -> x * square x
# Splats:
race = (winner, runnners...) ->
print winner, runners
我想匹配 cube
和 race
(存储函数的 variables/objects)。
我意识到我不能使用 ^\w
因为它不会匹配后面带有 space 的单词,例如 cube
.
在这种情况下我应该使用什么正则表达式?
对于您当前的示例,此模式会找到这些文本:
/\zs\S\+\ze\s*[:=]\s*(
它匹配文本,后面跟着任意数量的空格和 :
或 =
,然后是任意数量的空格,然后是 (
。我希望这就是您要找的。
我用了\S\+
而不是\w
,因为我不知道像-, # etc.
这样的字符是否也可以用作变量名。