0
我有使用BEGIN和END關鍵字在嵌套結構中存儲字段的文件。例如,使用平衡組匹配配置文件中的自定義嵌套結構
BEGIN Root_Name
var1 = 0
var2 = "string"
var3 = "string"
BEGIN node1
var = "string"
var= 1
BEGIN node2
var = 1
END
what_about_me = "??"
END
END
我的正則表達式是能夠首先整個樹結構從ROOT_NAME匹配,直到其匹配END直到節點1。但是,如果我將字符串從node1傳遞到結尾,那麼我的正則表達式只會匹配到第一個END。 (即它將無法捕獲what_about_me變量)我最近學習了有關平衡團體的知識,我想知道如何使用它來充分緩衝樹。
這是我目前用來匹配根樹和subroot的正則表達式。 (差異是^和$錨定值)
$AnchoredDelimiter = "(^(BEGIN)(\s+)((`".*`")|((\w|_|-)+))[\r\n]*)"
$AnchoredClose = "((?-i)^END(\t|)*)"
$Root = "$AnchoredDelimiter$Body$AnchoredClose"
$Delimiter = "((BEGIN)(\s+)((`".*`")|(\w|_|-)+)[\r\n]*)"
$Body = "((.|[\r\n])*?)"
$Close = "((?-i)END(\t|)*)"
$SubRoot = "$StandAlone$Delimiter$Body$Close"