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