我想要一個正則表達式,其中我將與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