我想读出变量,这是下面提到的文件。你知道吗
#define xyz_u8 abc_0x0_u8 = 0x0 (for hex)
#define xyz_f16 abc_MOD1_f32 = -0.1f (for int and float)
#define xyz abc_YY = YY_ZZ (for others)
我正在使用
re.compile(r"^#define\s+(\w+)\s+(\w+)(0[xX][0-9a-fA-F]+)")
用于读取十六进制,但我无法从“=”获取值。有人能纠正正则表达式吗。你知道吗
Tags:
我建议
与
re.I
和re.M
一起使用(如果您有多行输入)。你知道吗参见regex demo
图案说明:
^
—字符串的开头(如果使用re.M
,则为行)#define
-一系列文字字符\s+
-1个或多个空格(\w+)
-组1捕获一个或多个单词([a-zA-Z0-9_]
)字符\s+
-1个或多个空格(\w+)
-组2捕获一个或多个单词([a-zA-Z0-9_]
)字符=
-space,=
,space(您可以在每个空格后面添加+
以允许1个或多个空格,或者*
以允许0个或多个空格)(.+)
-第3组将捕获线路的其余部分。你知道吗相关问题 更多 >
编程相关推荐