我有一个包含键/值对的文件,偶尔有评论(用';'分隔),希望用preg_match解析(或者preg_match是错误的工具)。preg_match最多提取regexp语法;
的文件看起来像这样
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直接部分(如果我不关心“意见”“意见”的一部分在$ result中结束了[3]
您可以使用几个'explode's你的情况。首先,获取行数组,然后使用';'或'';''分解一个修剪过的字符串,然后在第一个空格处获取第一个元素并将其'爆炸'成两部分。 –