什麼是解析文本(配置文件),其中有向度「樣式」設置變量最好的方法:解析配置文件
var_name = "Content" // comment
var_name2 = Content // comment
set var_name3 "Content" // comment
Var_name4=Content // comment
我只需要VAR_NAME和內容,忽略「設置」和「//。 ..」
什麼是解析文本(配置文件),其中有向度「樣式」設置變量最好的方法:解析配置文件
var_name = "Content" // comment
var_name2 = Content // comment
set var_name3 "Content" // comment
Var_name4=Content // comment
我只需要VAR_NAME和內容,忽略「設置」和「//。 ..」
您可以使用正則表達式來解析這些:
^\s*(?:set\s+)?(\w+)(?:\s*=\s*)?"?([^"]*?)"?\s*(?://.*)?$
$1
是變量名,$2
是值。
這有一個缺陷:如果你把//
引述裏面的內容,它將作爲一個註釋的開始進行治療。
謝謝!但我不能測試這個使用PHP:'preg_match('/^\ s *(?:set \ s +)? (?:\ * * \'s *)?「?([^」] *?)「?\ s *(?://.*)?$ /',$ test,$ match);'使用'^ \ s *(?:set \ s +)?(\ w +)(?:\ s * = \ s *)?「?([^」] *?)給出警告:未知修飾符'「' 「?\ s *(?://.*)?$':未知的修飾符'」' – AdamSmith
在正則表達式中使用與'/'不同的分隔符,或者在正則表達式中使用'/' – Barmar
Works,thanks @巴爾馬:)。 – AdamSmith
爲什麼你的配置風格語法如此自由?選擇一種語法並要求用戶關注它。 – Barmar
到目前爲止你研究了什麼?你爲什麼不把它編輯成一致的樣式,只使用許多ini解析器中的一個? – mario
使用xml作爲你的配置語法自由形式的文本文件configs是解析惡夢。結構化的文本文件,如XML是完美的 – Dave