Ugu*_*gur 4 regex visual-studio-code
编辑:正如一些评论者指出的那样,它应该是^class (?!Migration)[A-Z][a-z]*。但 VS Code 抱怨:Error parsing regex near "ss (?!Migr' at character offset 9: Unrecognized flag: '!'. (Allowed flags: i, m, s, U, u, x.)
Visual Studio似乎支持负向预测(请参阅“使匹配无效”)。如果 VSCode 确实支持,则无法找到问题的答案。
在 VS Code 中,我尝试通过 .django 在 Django 项目中查找类定义Shift+Command+F。打开正则表达式搜索。现在我的搜索模式是这样的:
^class [A-Z][a-z]*
因此,每次出现“class Abc”(其中 Abc 是类名)都会被找到。
现在我想排除像class Migration(...)或这样的类class Command(...)
我尝试用否定的前瞻来做到这一点,如下所示:
^class (!?Migration)[A-Z][a-z]*
但这是行不通的。VS Code 将向我显示所有名为 的类class Migration(...),因此它不会排除它,而是会重点关注它。
我缺少什么?
更新:
由于迁移到Electron 3.0 ,您可以在正则表达式中自由使用环视,包括前向和后向。由于从 Chromium 62 和 Node 8.10.0 开始就支持环视,并且 Electron 3.0 使用 Chromium 66 和 Node 10.2.0,因此现在支持它们开箱即用。
PCRE2 选项是
已弃用。当使用仅 PCRE2 支持的正则表达式功能时,将自动使用 PCRE2。
请注意,从 VS Code 1.31 开始,甚至支持无限宽度的后视。
旧版本的先前答案
请注意,要使具有前瞻功能的模式发挥作用,您需要编辑settings.json文件来设置
"search.usePCRE2": true
Run Code Online (Sandbox Code Playgroud)
请参阅v1.29 发行说明:
现在还可以通过设置在正则表达式搜索中使用反向引用和前瞻断言
"search.usePCRE2": true。这将 ripgrep 配置为使用 PCRE2 正则表达式引擎。虽然 PCRE2 支持许多其他功能,但我们仅支持在 JavaScript 中仍然有效的正则表达式,因为仍然使用编辑器的基于 JavaScript 的搜索来搜索打开的编辑器。
另外,请参阅马克的回答,他早些时候注意到了这个选项。
然后,你的^class (?!Migration)[A-Z][a-z]*正则表达式就会起作用。
| 归档时间: |
|
| 查看次数: |
5595 次 |
| 最近记录: |