c - 带匹配括号的正则表达式

标签 c regex matlab

我正在尝试从 C 源代码中提取特定的硬编码变量。我剩下的问题是我想解析数组初始化,例如:

#define SOMEVAR { {T_X, {1, 2}}, {T_Y, {3, 4}} }

将此示例解析为“{T_X, {1, 2}}”和“{T_Y, {3, 4}}”就足够了,因为这样就可以递归获得完整结构。但是,它需要足够通用,以便能够解析任何用户定义的类型。

更好的是一个正则表达式列表,可用于从通用 C 代码结构(如 #define、枚举和全局变量)中获取额外值。

C 代码是提供给我的,所以我无法控制它。我宁愿不编写一次解析一个字符的函数。但是,拥有一系列正则表达式就可以了。

这不是将文件导入 MATLAB 或基本正则表达式的问题。我正在寻找一个特定的正则表达式,该正则表达式通过方括号保留分组。

编辑:看起来正则表达式不进行递归或任意深度匹配。根据herehere .

最佳答案

编辑:既然问题已经更新,看来我之前的回答没有捕获要点。我不知道您是否已经在 Stack Overflow 上搜索过其他与正则表达式相关的问题。碰巧你还没有,我遇到了两个可能会帮助你指导你的问题(这似乎是一个问题,至少部分是试图匹配和跟踪打开和关闭花括号):this onethis one 。祝你好运!

关于c - 带匹配括号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545584/

相关文章:

c# - 正则表达式字符串定义问题

用于匹配多行嵌套注释的java正则表达式

JavaScript ES6 将嵌套分隔字符串解析为键/值

arrays - 以色列的结果不一致

c - 奇怪的指针函数

c - Rand() 没有正确随机化

c - 使用 if/else 中几乎相同的语句减少 C 程序中的代码重复?

c - 查询后在每个索引处查找最小值

matlab - 使用 PCA 提取 MNIST 图像的特征

matlab - 我们如何使用 Matlab 在以下模型中生成 kappa 和 delta?