我想要一个正则表达式,其中我将与Python re模块一起使用,它将在python文件中寻找python函数调用,但是我会寻找围绕函数调用的警告。使用Python正则表达式在文件中查找函数调用的正则表达式?
- 函数调用将有一个单一的特定名称。
- 函数调用可能会被链接,但只会有一个链接调用始终具有相同的名称。
- 第一个函数将始终采用单个字符串参数。
- 然而,链接函数可能会采用任意参数(这是令我担心的)。
下面是我想在一个文件中查找功能的示例用法:
# Simple function call.
f("_key")
# The chained function call, in the simplest format (no args).
f("_key").g()
# The chained function call with simple arguments.
f("_key").g("hello", 1337)
# The chained function call with possible, more complex arguments
f("_key").g(obj.blah(), {"dog":"cat"})
# And then the possibility for long function calls to extend over one line
f("_key").g(
"dogs",
"cats",
{"living":"together"})
和平常免责声明:我做这个搜索,而问题是接近我的,但我想知道我的需求是否足以克服“常规与非常规”语言问题。这是我得到的不是计算机科学专业并害怕正规表达。
你确定正则表达式是最好的工具吗? Python有几个用于代码自省的内置库。见http://docs.python.org/library/language.html – DaveP
@DaveP我不是。我习惯性地想到正则表达式,因为它就像SE转向PERL一样。我学到了很多自学编程的知识(从C开始),但有一些经典的东西我错过了没有获得CS学位,就像学习语法。我非常喜欢雷蒙德的答案,所以我会首先尝试一下,因为我觉得它更可靠,更不容易出错,再加上我会学到很多东西。我也将测试Sylverdrag的答案,因为我认为他可能是一个非常好的短期解决方案(只要我通过测试)。 – jeremyosborne