語境
我解析了一些代碼,並希望有一個函數之前匹配doxygen的意見。然而,因爲我想匹配一個特定的函數名稱,只有剛纔的評論給我的問題。使用正則表達式(在Python中)通過字符串向後搜索?
當前的方法
import re
function_re = re.compile(
r"\/\*\*(.+)\*\/\s*void\s+(\w+)\s*::\s*function_name\s*\(\s*\)\s*")
function_match = function_re.search(file_string)
if function_match:
function_doc_str = update_match.group(2)
問題與當前的方法
目前的方法從早期的功能相匹配doxygen的,給我一個結果是錯誤doxygen的註釋。
問題
有沒有辦法通過使用Python正則表達式庫中的串向後搜索?
好像我的問題是更嚴格(較不頻繁出現的部分)是函數簽名,「void函數()」
可能更好的問題
有沒有更好的(容易)的方法,我錯過了?
我對幫助你很感興趣,但我對Doxygen並不熟悉。你可以發佈一些代碼嗎?順便說一下,您還可以查看「lookbehide」和「lookahead」。我相信它會幫助你。 – NawaMan 2010-03-19 21:57:42
嗯,當你可以反轉你的輸入和模式字符串(或使它們通過索引重新計算的包裝顯示反轉)並以通常的方式搜索/正則表達式時(我沒有使用正則表達式的經驗,是的) ? – mlvljr 2010-03-20 08:28:16