gpt4 book ai didi

python - 使用 RegEx 在文件中查找变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:27:18 24 4
gpt4 key购买 nike

我想读出文件中下面提到的变量。

#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]+)")

用于读取十六进制,但我无法从“=”中获取值。任何人都可以更正正则表达式。

最佳答案

我建议

^#define\s+(\w+)\s+(\w+) = (.+)

将它与 re.Ire.M 一起使用(如果您有多行输入)。

参见 regex demo

模式解释:

  • ^ - 字符串的开头(如果使用了 re.M,则为行)
  • #define - 文字字符序列
  • \s+ - 1 个或多个空格
  • (\w+) - 第 1 组捕获一个或多个单词 ([a-zA-Z0-9_]) 字符
  • \s+ - 1 个或多个空格
  • (\w+) - 第 2 组捕获一个或多个单词 ([a-zA-Z0-9_]) 字符
  • = - 空格,=,空格(您可以在每个空格后添加 + 以允许 1 个或多个空格,或者 * 允许 0 个或更多空格)
  • (.+) - 第 3 组将捕获该行的其余部分。

关于python - 使用 RegEx 在文件中查找变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38301211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com