我想在VS Code中构建正则表达式,该表达式返回整个解决方案中包含给定字符串的所有短语(请记住,它可以包含特殊字符)并且不以给定字符串结尾,例如
包含/webhelp
但不以/
比赛:
/server/webhelp
blah/webhelp#
不匹配
/server/webhelp/
server#webhelp/
我不是Regex的专家,我曾尝试构建类似以下内容的东西:
(?=/webhelp)(?=.*(?<!/)$)
但这不起作用。
答案 0 :(得分:3)
请注意,目前,即使您拥有"search.usePCRE2": true
set,VSCode regex也不支持lookbehinds。
似乎早晚要添加幕后支持:
如果您仍然缺少后置断言,请不要担心! JavaScript刚刚支持了该功能,在以后的Electron Shell更新中,VS Code应该会加入该功能。
此刻,您可以使用前行。应该符合您需求的正则表达式是
/webhelp(?!.*/$).*$
详细信息
/webhelp
-文字子字符串(?!.*/$)
-否定的前瞻性,可确保该行不以/
结尾.*$
-该行的其余部分。即使在查找文件中,它仍然有效:
答案 1 :(得分:2)
以下是正则表达式的简短版本:
/webhelp(?!/)
它仅与'/webhelp'
匹配,除非后跟斜杠。