這是我的字符串:如何在這種情況下使用LookBehind?我迷路了
myclass.test() and(myclass.mytest() and myclass.test("argument")) or (myclass.mytests(1))
我想只捕獲括號的開口「(」這不是一個功能的一部分,
於是,我就開始捕捉功能(然後拒絕此規則):
\w*\.\w[^(]*\(
完美,我只捕獲功能,當我試圖用下面的表達式我沒有成功
(爲什麼?)(?<=(\w*\.\w[^(]*\())\(
備註: - myclass。從未改變 - 不要忘記 「和(」 - ?(< = T)(<工作正常
謝謝:)
治標不治本
我會繼續學習並試圖應用這種情況下的「向後看」,這似乎是一個有趣的方法,但我們的朋友@ hwnd提出了一種適用於我的案例的不同方法:
\((?=myclass)
謝謝你們。
在哪種語言做呢? Java不支持可變長度後視。並且'和(...)'也被認爲是一個函數,對嗎? – justhalf
我想你可以刪除後面的最後一個圓括號。它不應該在那裏。所以,試試這個來捕獲不屬於函數的括號的開頭:'(?<!(\ w * \。\ w [^(] *))\(' – justhalf
@justhalf python :) – Jonny