我正在尝试从C源代码中提取特定的硬编码变量。我剩下的问题是我想解析数组初始化,例如:
#define SOMEVAR { {T_X, {1, 2}}, {T_Y, {3, 4}} } 将示例解析为“ {T_X,{1,2}}”和“ {T_Y,{3,4}}”就足够了,因为这样便可以递归获得完整的结构。但是,它必须足够通用,以便能够解析任何用户定义的类型。
更好的是一个可用于从常规C代码构造(如#define ,枚举和全局变量)中获取额外值的正则表达式列表。
C代码已提供给我,所以我无法控制它。我宁愿不编写一次解析一个字符的函数。但是,可以有一系列的正则表达式。
将文件放入MATLAB或基本正则表达式不是问题。我需要一个特定的正则表达式,该表达式保留了按括号分组。
编辑:看起来正则表达式不做递归或任意深度匹配。根据
这里和
这里 。
回答:
编辑:现在,问题已更新,似乎我以前的答案错过了重点。我不知道您是否已经在Stack Overflow上搜索了其他与正则表达式有关的问题。在你还没有,我在两个来,可以帮助给你指导你的问题(这似乎是一个问题,至少部分地,试图匹配和跟踪打开和关闭大括号)的机会:
这一和
这个 。祝好运!
更多&回答...