簡體   English   中英

提取多個兩個括號之間的文本

[英]extract text between multiple two brackets

我在下面有這些變量:

let x = '5(2+1(3(4-1))';
let y = [];

我需要提取()之間的任何字符串並送到array為 output ,如:

console.log(y); // Array should be y[4-1,3,2+1,5]

我該如何解決這個問題?

試試這個正則表達式

 let x = '5(2+1(3(4-1))'; let y = []; let regex = /\(?(\d+([+-]\d+)?)/gm; let m while ((m = regex.exec(x)).== null) { y.push(m[1]) } y = y.reverse() console.log(y)

這可以通過遞歸應用正則表達式獲取並替換最里面的 () 對直到只剩下最后 5 個,或者通過構建一個真正的解析器來完成。

根據輸入的外觀,正則表達式可能不起作用。

但是不存在簡單的解決方案,這將取決於您可能獲得的格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM