读书人

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

发布时间: 2013-11-05 14:40:42 作者: rapoo

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


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


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

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

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

读书人网 >C++

热点推荐