我需要的是匹配多行预处理器的语句,例如:
#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/