首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-11-05 
求正则表达式,去除最上层的 逗号去除的是最上层的逗号, 我写到这个 .+\s*\{[^\{\}]*(((?Open\{)[^\{\}

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


去除的是最上层的逗号, 我写到这个 ".+=\s*\{[^\{\}]*(((?'Open'\{)[^\{\}]*)+((?'-Open'\})[^\{\}]*)+)*(?(Open)(?!))\}


[解决办法]
提醒:解决字符串过滤问题时,正则表达式不是万能的;而有限状态自动机是万能的。

参考《编译原理》中的词法分析和有限状态自动机。

[解决办法]
\w+\s*=\s*(?:{((?<o>{)
[解决办法]
(?<-o>)}
[解决办法]
[^{}]+)*(?(o)(?!))}
[解决办法]
"\w+")

热点排行