[问题] 怎么找第一个匹配的外括号内容

楼主: unlearn (我没你那么坚强..)   2011-02-10 03:07:11
层数不固定的巢状括号是否有办法找到外层匹配的括号?
举例:原字串为 "(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要怎么写才能判断正确?

Links booklink

Contact Us: admin [ a t ] ucptt.com