[英]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.