2
我試圖寫在Java中的Regex
用於提取雙大括號如何提取多張花括號之間的元素
例子:
I am very much new to java...{{envelope|func"{{aa}}{{ds}}|{{abc.xyz}}"}} and i want to know.... more.
我想這正則表達式,但它不」 T迴流全
{\{(.*?)(?:\{\{(.*?)\}\})*\}\}
我想提取如下面的第一個元素:
- 信封| FUNC 「{{AA}} {{} DS} | {{abc.xyz}}」
- AA
- DS
- abc.xyz
我通常提醒:有時候有些人來決定,如果一個正則表達式是一個很好的解決方案;或者如果更好的寫一點自己的解析邏輯。通常:當我需要其他人爲我創建該正則表達式時,我傾向於不使用正則表達式。因爲我將來可能很難保持那些我不能寫下來的東西。除此之外:我甚至不確定您是否可以爲任意深度大括號嵌套編寫正則表達式。 – GhostCat
僅供參考:Java正則表達式引擎不支持遞歸,您不能使用正則表達式來匹配嵌套平衡子串。你需要編寫你自己的解析代碼。 –
@ Jason4Ever:[這是否適用於您?](https://regex101.com/r/JpiHYi/3) – anubhava