正则表达式解析 C++ 枚举

Waw*_*aws 5 regex enums parsing

如何构造正则表达式来解析 C++ 枚举?我试过的枚举看起来像

enum Temperature
{
    C = 0,
    F=1,     // some elements are commented
    R,       // most elements are not gived a value
    K        // sometimes the last element is succeeded by a comma
} temperature;

// different indent style is used
enum Depth {
    m = 0,
    ft = 1,
} depth;
Run Code Online (Sandbox Code Playgroud)

我尝试了几种简单的模式,但没有一种模式足以概括上述所有情况。

任何可以帮助我的正则表达式向导?

编辑:澄清一下,我想要名称和值,例如 C 和 0。

nob*_*ody 3

这很有挑战性:)以下是我能想到的最好的。假设仅给出{ 和 } 之间的文本,它将捕获所有名称和相应的值:

/(\w+)\s*(?:=\s*(\d+)|)\s*,?\s*(?:(?:\n|$)|\/\/.*?(?:\n|$)|)/
Run Code Online (Sandbox Code Playgroud)