在大括号之间搜索和替换文本(VS代码)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在大括号之间搜索和替换文本(VS代码)相关的知识,希望对你有一定的参考价值。
我一直在寻找如何在VS Code中替换括号之间的文本。这是我要替换内容的示例或文件:
capital = 267
oob = "AFG_1936"
set_technology = {
CAS1 = 1
CAS2 = 1
CAS3 = 1
CAS4 = 1
radio_detection = 1
rocket_engines = 1
sp_rocket1 = 1
sp_rocket2 = 1
strategic_bomber1 = 1
strategic_bomber2 = 1
strategic_bomber3 = 1
suicide_craft = 1
synth_oil_experiments = 1
tactical_bomber1 = 1
tactical_bomber2 = 1
tactical_bomber3 = 1
tank_landing_craft = 1
transport = 1
}
add_ideas = {
population_growth_rapid
}
set_convoys = 200
...
我想替换或者至少选择“set_technology = {”和它的结束括号之间的内容。我试图搜索“{。}”,或类似“{。+ [^ n] +}”之类的东西,但似乎没有任何工作......如有必要,我可以切换到Visual Studio 2017
提前谢谢,Stuffi
答案
这个正则表达式是解决方案:
set_technology = {[^}]*?}
应用于您的文本,它给出一个匹配。它有三个部分:
1. set_technology = {
2.[^}]*?
:除了}
之外的所有字符尽可能少的字符。 (lazy quantifier
)
3. }
我们需要使用lazy quantifier
“*?
”而不是greedy quantifier
“*
”。 lazy quantifier
尝试捕获尽可能少的字符。我们想要在第一个}
而不是最后一个}
之后停止捕获文本。
如果我们使用greedy quantifier
,那么匹配将包含:
set_technology = {
...
}
add_ideas = {
...
}
但是使用lazy quantifier
它只包含:
set_technology = {
...
}
以上是关于在大括号之间搜索和替换文本(VS代码)的主要内容,如果未能解决你的问题,请参考以下文章
Eslint 在大括号之间添加了不必要的空格,Prettier 显示错误
在需要搜索和替换的代码中转义括号(Sublime Text2)