【发布时间】:2011-09-20 04:37:09
【问题描述】:
我问了this question earlier,但我没有正确表达自己。如果我有这三种情况:
void aMethod(params ...)
//void aMethod(params
// void aMethod(params
^ can have any number of spaces here
我如何调整我的正则表达式以仅在评论中找不到字符串时才匹配?这是我的正则表达式:
re.search("(?<!\/\/)\s*void aMethod",buffer)
这会抓住一切吗:
(?<!\/\/)(?<!\s)+void onMouseReleased
【问题讨论】:
-
只有这三种情况吗?怎么样:
/*foo void aMethod(params) bar*/(多行注释)和"foo void aMethod(params) bar"(字符串文字) -
Python 没有分词器吗?
-
@Bart,多行不会出现。
-
@Geo,以及可能包含看起来像方法调用的文本的字符串文字?
-
请告诉我们更多关于您的问题的信息。很有可能,用正则表达式解决会很疯狂。顺便说一句,pypi.python.org/pypi/pygccxml,code.google.com/p/pycparser.