Visual Studio Code Regex包含但不以结尾

时间:2018-11-20 12:41:43

标签: regex visual-studio-code

我想在VS Code中构建正则表达式,该表达式返回整个解决方案中包含给定字符串的所有短语(请记住,它可以包含特殊字符)并且不以给定字符串结尾,例如 包含/webhelp但不以/

结尾

比赛:

/server/webhelp

blah/webhelp#

不匹配

/server/webhelp/

server#webhelp/

我不是Regex的专家,我曾尝试构建类似以下内容的东西:

(?=/webhelp)(?=.*(?<!/)$)

但这不起作用。

2 个答案:

答案 0 :(得分:3)

请注意,目前,即使您拥有"search.usePCRE2": true set,VSCode regex也不支持lookbehinds。

似乎早晚要添加幕后支持:

  

如果您仍然缺少后置断言,请不要担心! JavaScript刚刚支持了该功能,在以后的Electron Shell更新中,VS Code应该会加入该功能。

此刻,您可以使用前行。应该符合您需求的正则表达式是

/webhelp(?!.*/$).*$

enter image description here

详细信息

  • /webhelp-文字子字符串
  • (?!.*/$)-否定的前瞻性,可确保该行不以/结尾
  • .*$-该行的其余部分。

即使在查找文件中,它仍然有效:

enter image description here

答案 1 :(得分:2)

以下是正则表达式的简短版本:

/webhelp(?!/)

它仅与'/webhelp'匹配,除非后跟斜杠。