Regex 正则表达式选择匹配的一部分
我正在使用gvim编辑文档。文件摘录如下:Regex 正则表达式选择匹配的一部分,regex,vim,Regex,Vim,我正在使用gvim编辑文档。文件摘录如下: ST*123*foo WIL*ST*bar Z91*R*Station 使用regex,我想在第二行中选择ST,它位于两个*之间(并且不在一行的开头),因此我可以突出显示一种特定的颜色 我认为\*ST\*可能会起作用,但它选择了*s,这是我不想要的。我还尝试了一些{}的变体(无效),试图从我的选择中选择x个字符。您将需要使用前向和后向断言: /\v(\*)@<=ST(\*)@= /\v(\*)@这会选择不需要的*字符。使用\zs&\ze通常可
ST*123*foo
WIL*ST*bar
Z91*R*Station
使用regex,我想在第二行中选择ST
,它位于两个*
之间(并且不在一行的开头),因此我可以突出显示一种特定的颜色
我认为
\*ST\*
可能会起作用,但它选择了*
s,这是我不想要的。我还尝试了一些{}
的变体(无效),试图从我的选择中选择x个字符。您将需要使用前向和后向断言:
/\v(\*)@<=ST(\*)@=
/\v(\*)@这会选择不需要的*
字符。使用\zs
&\ze
通常可以使这更容易<代码>/\*\zsST\ze\*
。参见:h/\zs
谢谢@PeterRincker,我不知道/\zs