python - 用于匹配 C 的多行预处理器语句的正则表达式

标签 python regex

我需要的是匹配多行预处理器的语句,例如:

#define max(a,b) \
       ({ typeof (a) _a = (a); \
           typeof (b) _b = (b); \
         _a > _b ? _a : _b; })

重点是匹配 #define 和最后一个 }) 之间的所有内容,但我仍然不知道如何编写正则表达式。我需要它使用“re”模块使其在 Python 中工作。

有人可以帮帮我吗?

谢谢

最佳答案

应该这样做:

r'(?m)^#define (?:.*\\\r?\n)*.*$'

(?:.*\\\r?\n)* 匹配零个或多个以反斜杠结尾的行,然后 .*$ 匹配最后一行。

关于python - 用于匹配 C 的多行预处理器语句的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424458/

相关文章:

python - 使用 pandas.read_json 时出现 ValueError

python - 如何比较python中的两个百分比?

python - 将 groupby 转换为具有新列的单行

c# - 如何使用正则表达式验证字符串至少包含 6 个不同的数字?

python - django 测试应用程序错误 - 创建测试数据库时出错 : permission denied to create database

regex - 如何在 Google 表格中合并具有相同 ID 的行?

正则表达式以匹配周围的文本

javascript - 在javascript中替换 "' "with "“

Java Regex 匹配特定字符串或另一个特定字符串,还是根本不匹配?

python - 无法在mysql数据库中添加列表列表