我有一个带有章节标题的文件,如下所示:
PLAY [Global Inventory] ********************************************************
我使用PHP来解析文件,但是我无法正确地删除正则表达式。我需要提取"全球库存"从上面的标题。
这是我到目前为止所拥有的:
function check_section_type($row) {
$pattern = '/PLAY(\s*)(\[)([a-z\s]*)(\])(\**)/i';
preg_match($pattern, $row, $matches);
var_dump($matches);
}
var dump命令返回一个空数组... 我尝试了一些模式的变化,但我无法看到我出错的地方。 我试过的其他模式:
$pattern = '/PLAY(\s*)(\[)([a-zA-Z\s]*)(\])(\**)/i';
和
$pattern = '/PLAY(\s*)(\[[a-zA-Z\s]\]*)(\])(\**)/i';
任何建议将不胜感激。
答案 0 :(得分:0)
考虑以下正则表达式:
$str = "PLAY [Global Inventory] ********************************************************";
preg_match("/PLAY \[([^]]+?)\]/iu", $str, $matches);
print_r($matches[1]); // "Global Inventory"