黄舟2017-04-17 15:54:15
我想你是希望匹配任意層級的成對括號對吧。 簡單來講用regex是不可行的。
正規表示式本質上是一個有限狀態機,有限狀態機除了目前它所在的狀態之外,不會儲存其他東西。
就匹配任意層級的成對括號而言,需要任意長度的儲存(對應於層級)。寫死的正規表示式是做不到的,解決該問題的函式庫也是需要動態記憶體的。參見:http://stackoverflow.com/questions/133601/can-regular-expressions-be-used-to-match-nested-patterns
如果你的問題比較一般(general),例如任意成對標籤。最常見的例如XML或HTML,因為語法的多元和相容這在實務上會更有難度,你基本上得用一個函式庫了。參見:http://stackoverflow.com/questions/701166/can-you-provide-some-examples-of-why-it-is-hard-to-parse-xml-and-html-with-a-reg