我一直在寻找如何在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 = {
...
}