Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VSCode regex find&;替换子匹配数学?_Regex_Visual Studio Code - Fatal编程技术网

VSCode regex find&;替换子匹配数学?

VSCode regex find&;替换子匹配数学?,regex,visual-studio-code,Regex,Visual Studio Code,我在vim中使用这个regex search and replace命令从每个匹配的id中减去一个常量 我可以在VSCode中查找正则表达式,但如何引用数学和替换的子匹配项子匹配(1)在VSCode中不起作用 谢谢。给定一个(foobar)的正则表达式,如果在“替换”输入字段中有更多的组,您可以使用$1等来引用第一个组。用一个示例来补充Benjamin的答案: %s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@ 括号中的任何内

我在vim中使用这个regex search and replace命令从每个匹配的id中减去一个常量

我可以在VSCode中查找正则表达式,但如何引用数学和替换的
子匹配项<代码>子匹配(1)
在VSCode中不起作用


谢谢。

给定一个
(foobar)
的正则表达式,如果在“替换”输入字段中有更多的组,您可以使用
$1
等来引用第一个组。

用一个示例来补充Benjamin的答案:

%s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@

括号中的任何内容都可以是正则表达式。

只需添加另一个示例:

我正在替换img html标记中的src attr,但我只需要替换src,并在img声明和src属性之间保留任何文本

我使用了查找+替换工具(ctrl+h),如图所示:

在我的情况下,1美元不起作用,但0美元对我来说可以

在这个例子中,我试图用正确的格式替换字符串,以便在Laravel中翻译它们,我希望这对其他人有用,因为我花了一些时间来整理它

Find        Carrots(With)Dip(Are)Yummy
Replace     Bananas$1Mustard$2Gross
Result      BananasWithMustardAreGross

Search:(?另一个简单的例子:

Search: (?<=<div>).*?(?=</div>)
Replace: {{ __('$0') }}

对于初学者来说,使用emotion/css将HTML转换为JSX非常有用!

,公认的答案是正确的,但如果您对VSC或Regex都不太熟悉,则有点简洁

因此,如果这是您第一次接触:

要查找和修改文本

  • 在“查找”步骤中,您可以使用带有“捕获组”的正则表达式,例如使用括号的
    我要查找(组1)和(组2)
    。这将查找与
    我要查找组1和组2
    相同的文本,但不同之处在于,您可以在下一步中引用
    组1
    组2

  • 在“替换”步骤中,您可以通过
    $1
    $2
    等引用捕获组,因此您可以将句子更改为
    我发现$1和$2有野餐
    ,这将输出
    我发现组1和组2有野餐。

  • 注:

    • ()
      内部或外部的任何内容都可以是正则表达式,而不仅仅是字符串

    • $0
      指整个比赛


    在这里再次提出了不同的问题:我必须用
    (.*)

    \n\t\t\t\t\t\t$1\n\t\t\t\t

    替换一个2000行的文件。想象一下,我是手动操作的……并且$0引用完全匹配的字符串(不需要括号)。如果你想添加到搜索字符串中,这很有用,就像替换
    “Bond”
    作者
    “$0,詹姆斯$0”
    。别忘了点击.*按钮告诉vsc你输入的regexfor me这不一致-虽然选择正确,但输出有时会保持
    $1
    而不替换hi,@Godbless草莓,你能分享你的搜索和替换字符串吗?hi@Diogo我试图替换projectwide
    \[innerHtml\]\s*=\s*“(.*)\s*\\\s*translate\s*”
    with
    myTranslate=“$1”
    ,它随机跳过键,有时插入$1而不是组值。更新到1.28.0解决了这个问题。我遇到了与@godbless草莓相同的问题,用正则表达式对我的所有文件进行全局替换”(和|或\+\124; \-)\ n(*)'和替换字符串'\n$2$1'有时会将二进制运算符正确地移到换行符的开头,但在其他情况下,只是插入了$2$1。这可能是一个错误VSCodium@godblessstrawberry,请勾选此:。如果它不适用于您,请提供更多信息,并在那里打开一个问题。这一问题提醒我,我应该跳过括号If我正在做一个关于if的正则表达式。你可以复制你的编辑文章并复制代码而不是图像吗?这对可视化效果更好。老实说,对于像我这样的初学者来说,最好的答案是
    regex
    Search: style="(.+?)"
    Replace: css={css`$1`}