我試圖使用正則表達式來匹配與函數對應的某些字符串組。現在看起來像這樣:匹配所有內部圓括號但不是外部
(Spreadsheet.[^)\)]+\))
它在哪裏找到變量Spreadsheet,它具有作爲屬性的功能。表達式繼續前進直到到達結束圓括號。對於簡單的功能,如
Spreadsheet.ADD(1,2)
正則表達式將正常工作。
但是,如果我嘗試進行任何類型的嵌套,則表達式不起作用,因爲它將停止在內部圓括號而不是最後一個圓括號。
Spreadsheet.ADD(Spreadsheet.ADD(1, 2), 3)
因此,「,3)」未被識別並且結束被忽略。當然,由於我的代碼處理它的方式,這個不尋常的字符串最終導致錯誤。
有沒有人有更多的正則表達知識知道如何改變它只會停在最後一個括號而不是第一個?
謝謝。
這不是一個重複,至少不是我可以告訴你發佈的問題。 我不想多次匹配我的表情。我想匹配我的表達從開始括號到結束括號,而不管內部有多少個括號。 –
'Spreadsheet.ADD(1,2)+ Spreadsheet.ADD(3,4)'? – falsetru
部分輸入由用戶指定。另外,這些功能不僅僅是算術。嵌套是我想要的東西。 –