我試影像這樣使用正則運算式正向后視在括號前提取字串,但它回傳一個 none 型別。我想要在 "(" 之前的任何字串,所以我這樣做了:
func = "public long int void myfunc(int int1, int int2);"`
pattern = "(?<=\()[a-zA-z0-9] \s?"
temp = re.match(pattern, func)
我怎樣才能回傳字串“myfunc”?
uj5u.com熱心網友回復:
我應該一直使用正則運算式向前看:
模式 = "[a-zA-z0-9] \s?(?=()" 這做到了
uj5u.com熱心網友回復:
也許是這樣的:
([a-zA-Z_][a-zA-Z_0-9]*)(?=\s*\(),因為許多語言中的函式名稱都以字母和下劃線開頭,所以后面可能不止一個或一個數字。然后是向前看可能的空間和所需的左括號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316084.html
