首頁  >  問答  >  主體

python - 如何正则匹配成对标签对中的内容?

PHP中文网PHP中文网2742 天前895

全部回覆(3)我來回復

  • 黄舟

    黄舟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

    回覆
    0
  • 阿神

    阿神2017-04-17 15:54:15

    標準庫裡的正規引擎是不支援的。這個 regex 函式庫支持,到網頁搜尋「recursive」即可找到用法。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 15:54:15

    一樓正解,用棧可以實現。

    回覆
    0
  • 取消回覆