我一直在寻找如何在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
答案 0 :(得分:0)
这个正则表达式是解决方案:
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 = {
...
}