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