VSCode regex find&;替换子匹配数学?
我在vim中使用这个regex search and replace命令从每个匹配的id中减去一个常量 我可以在VSCode中查找正则表达式,但如何引用数学和替换的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)@ 括号中的任何内
子匹配项<代码>子匹配(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*”
withmyTranslate=“$1”
,它随机跳过键,有时插入$1而不是组值。更新到1.28.0解决了这个问题。我遇到了与@godbless草莓相同的问题,用正则表达式对我的所有文件进行全局替换”(和|或\+\124; \-)\ n(*)'和替换字符串'\n$2$1'有时会将二进制运算符正确地移到换行符的开头,但在其他情况下,只是插入了$2$1。这可能是一个错误VSCodium@godblessstrawberry,请勾选此:。如果它不适用于您,请提供更多信息,并在那里打开一个问题。这一问题提醒我,我应该跳过括号If我正在做一个关于if的正则表达式。你可以复制你的编辑文章并复制代码而不是图像吗?这对可视化效果更好。老实说,对于像我这样的初学者来说,最好的答案是regex
。
Search: style="(.+?)"
Replace: css={css`$1`}