相关疑难解决方法(0)

如何在Visual Studio Code的搜索功能中使用Negative Lookahead?

语境:

处理 PHP 2-3 代码我必须将短标签“ <?”替换为“ <?php”。
为了找到它们,我想使用 VS code 在文件夹中查找功能来查找它的所有出现位置。

问题:

<?contains后面不跟有的正确语法是什么php

我已阅读此处的Visual Studio 文档并在regex101中进行了尝试。它似乎在 PCRE 和 ECMA 中有效。我一定错过了一些东西,因为在 Visual Studio Code 中它不起作用。

“正则表达式解析错误”。

在此输入图像描述

正则表达式:

<\?(?!php)
Run Code Online (Sandbox Code Playgroud)

输入:

<?php
<?
<?PHP
Run Code Online (Sandbox Code Playgroud)

输出:

<?
Run Code Online (Sandbox Code Playgroud)

regex visual-studio-code

13
推荐指数
0
解决办法
1万
查看次数

正则表达式看看VS Code背后?

我正在研究VS Code中的语法扩展,而且我在查看正则表达式模式时遇到了困难.给定以下字符串,我想只返回cmp,前面是@fmt(

@fmt(cmp,foo)
Run Code Online (Sandbox Code Playgroud)

我在另一个编辑器中使用的匹配字符串是这样的:

(?<=[@|©](fmt)\()(\w+)
Run Code Online (Sandbox Code Playgroud)

但是,这在VS Code中不起作用,当我进行正则表达式搜索时,它会返回错误,表明它不是有效的表达式.玩弄它,问题是<=字符,表明背后的外观.

搜索VS Code网站不会返回任何类型的正则表达式参考指南.搜索Stack Overflow提出了这个问题,该问题表明Visual Studio具有唯一的正则表达式定义.不幸的是,该问题中给出的示例在VS Code中不起作用.

有谁知道如何看看VS Code中的正则表达式?或者至少知道VS Code的正则表达式文档在哪里?

我担心这是不可能的,因为根据Stack Overflow参考,JavaScript中不支持后面的内容.还有一个问题显示了如何模仿JavaScript函数中的后台,但我不知道是否可以使用用户定义的函数扩展VS Code中的语言.如果有人知道如何做到这一点,并且可以指向我这个方向,那也是一种可接受的解决方法.

regex regex-lookarounds visual-studio-code vscode-extensions

7
推荐指数
2
解决办法
4161
查看次数

Visual Studio 代码中的正则表达式:无效匹配失败并出现“无法识别的标志”错误

编辑:正如一些评论者指出的那样,它应该是^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(...),因此它不会排除它,而是会重点关注它。

我缺少什么?

regex visual-studio-code

4
推荐指数
1
解决办法
5595
查看次数