python中用正则表达式匹配C语音中的结构体
小弟刚学习正则表达式,对这个运用不是很熟练,求大大指导
现在有一个需求,需要解析C语音中的结构体
普通的结构体解析的正则表达式 "\s+typedef\s+struct\s+\w+\s*{.*?}\s*\w*;"
但是如果在结构体中定义结构体或者联合体之类的,解析必然出错
请问下,怎么在纵向横向都能匹配在结构体内部定义的结构体? Python 正则表达式 C Structure
[解决办法]
用正则表达式做这样的事情好像真的不是很好。
设计模式中有一条是关于BNF的,或许可以。
你还可以百度一下 python yacc。有一个ply包,或许也可以。
你还可以用antlr,他也可以生成python代码。
其实都是语法分析。