下面是我编写的正则表达式,用于匹配C/C++代码中的多行预处理器宏。我绝不是正则表达式大师,所以我欢迎任何关于如何使之更好的建议。在
以下是正则表达式:
\s*#define(.*\\\n)+[\S]+(?!\\)
它应该符合以下所有要求:
^{pr2}$但只有其中一些(不应与下一行代码匹配:
#define foo(x) if(x) \
doSomething(x)
normalCode();
也不应该匹配单行预处理器宏。在
我很确定上面的regex是有效的-但是正如我所说的,可能有更好的方法来实现它,我想有很多方法可以破坏它。有人能推荐吗?在
这是我设计的一个简单的测试程序:
我用的是:
^{pr2}$与所用的用途非常相似,变化如下:
相关问题 更多 >
编程相关推荐