[問題] 怎麼找第一個匹配的外括號內容
看板RegExp (正規表示式 Regular Expression)作者unlearn (我沒你那麼堅強..)時間14年前 (2011/02/10 03:07)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/2 (看更多)
層數不固定的巢狀括號是否有辦法找到外層匹配的括號?
舉例:原字串為 "(a b c(d e f)(g))(h i)"
pattern 要怎麼寫才會同時 match 到(a b c(d e f)(g)) , (h i)
abc..j 表示一般文字字串
想法:
原字串最多一層時,如: (h i) -> 可用 \([^()]*\)
原字串最多二層時,如: (a b c(d e f)(g)) -> 可用 \([^()]*(\([^()]*\))*[^()]*\)
但是如果今天原始字串不確定最多有幾層(深)的括號
patern要怎麼寫才能判斷正確?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.157.150
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章