【发布时间】:2016-11-07 14:50:11
【问题描述】:
我有一个包含键/值对的文件,偶尔有注释(由';'分隔),我想用 preg_match 解析(或者 preg_match 可能是错误的工具)。
文件如下所示
key1 VALUE1
key2 VALUE2 ; comment 2
key3 VALUE3a VALUE3b
key4 VALUE4a VALUE4b ; comment 4
(每行开头有一个或多个空格)
我的 preg_match 看起来像这样
preg_match('/\s*(\S+)\s+(.+)/', $line, $result);
它正确拆分了“key1”和“key3”行。对于 key2 和 key4,“;comment #”成为 $result[2] 部分。
是否可以直接在 preg_match 中“删除”“;comment”部分(我不在乎“;comment”部分是否以 $result[3] 结尾。
【问题讨论】:
-
您可以在您的情况下使用几个
explodes。首先,获取行数组,然后用;或" ; "分解一个修剪后的字符串,然后在第一个空格处将第一个元素和explode分成两部分。
标签: php preg-match