求正则表达式,除了最上层的 逗号
求正则表达式,去除最上层的 逗号
如图

去除的是最上层的逗号, 我写到这个 ".+=\s*\{[^\{\}]*(((?'Open'\{)[^\{\}]*)+((?'-Open'\})[^\{\}]*)+)*(?(Open)(?!))\}
------解决方案--------------------
提醒:解决字符串过滤问题时,正则表达式不是万能的;而有限状态自动机是万能的。
参考《编译原理》中的词法分析和有限状态自动机。
------解决方案--------------------
\w+\s*=\s*(?:{((?<o>{)
------解决方案--------------------
(?<-o>)}
------解决方案--------------------
[^{}]+)*(?(o)(?!))}
------解决方案--------------------
"\w+")
name = "fdfd",
f_e={
a="fe",
b="ss",
"ss",
[1]=33,
ss={a="s" ,b="ss" ,s={},e="ss" }
},
fse={
a={af=""},
b={34=344},
"ss",
[1]=33,
ss={a="s" ,b="ss" ,s={},
fasdf="s" }
},
ffe={
a="f{e",
b="s}s",
"ss",
[1]=33,
ss={a="s" ,b="ss" ,s={} }
}
如图
去除的是最上层的逗号, 我写到这个 ".+=\s*\{[^\{\}]*(((?'Open'\{)[^\{\}]*)+((?'-Open'\})[^\{\}]*)+)*(?(Open)(?!))\}
------解决方案--------------------
提醒:解决字符串过滤问题时,正则表达式不是万能的;而有限状态自动机是万能的。
参考《编译原理》中的词法分析和有限状态自动机。
------解决方案--------------------
\w+\s*=\s*(?:{((?<o>{)
------解决方案--------------------
(?<-o>)}
------解决方案--------------------
[^{}]+)*(?(o)(?!))}
------解决方案--------------------
"\w+")