正则表达式在.c文件中查找结构/嵌套结构

时间:2015-10-09 08:35:56

标签: c# .net regex recursion struct

我想在.C文件中查找Structs,我在c#中使用正则表达式

我有这样的文字:

typedef struct IsoSns_UxBuffer_tag
{
    float32  f32Val[ISOSNS_UX_BUFFER_SIZE];
    uint8   u8WrId;
float32  f32Val[ISOSNS_UX_BUFFER_SIZE];
struct IsoSns_UxBuffer_tag
    {
        float32  f32Val[ISOSNS_UX_BUFFER_SIZE];
        uint8   u8WrId;
        boolean bIsFull;
    }IsoSns_UxBuffer_t;

}IsoSns_UxBuffer_t;

typedef struct IsoSns_UxBuffer_tag
{
        float32  f32Val[ISOSNS_UX_BUFFER_SIZE];
        uint8   u8WrId;
        boolean bIsFull;
    }IsoSns_UxBuffer_t;

我的正则表达式是:

(?<Struct>(struct\s+\n*(?<strName>[a-zA-Z0-9_]*)\s*\n*{[\s\n]*((?R)*|(?<Element>([a-zA-Z0-9_\s\]\[]*\n*;[\s\n]*))*)*[\n\s]*}\s*\n*(?<Alias>[a-zA-Z0-9_\[\]]*)\s*\n*;))

它工作正常,但.net不支持递归参数,如&#34;?R&#34; ..我已经读过我可以通过使用平衡组来解决这个问题。但我无法弄清楚......

是否有更好的方法可以使用正则表达式查找c文件中的嵌套结构?

0 个答案:

没有答案