Preg_match_all在数组中返回数组?

Rya*_*ard 5 php regex preg-match-all

我试图从这个数组中获取信息,但由于某种原因,它将所有内容嵌入$matches[0].

<?

$file = shell_exec('pdf2txt.py docs/April.pdf');

preg_match_all('/.../',$file,&$matches);
print_r($matches)

?>
Run Code Online (Sandbox Code Playgroud)

这是否按预期工作?有没有办法把它放在深度为1的数组中?

编辑:

这是RegEx:

([A-Z][a-z]+\s){1,5}\s?[^a-zA-Z\d\s:,.\'\"]\s?[A-Za-z+\W]+\s[\d]{1,2}\s[A-Z][a-z]+\s[\d]{4}
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 12

preg_match_all()总是返回一个数组(如果成功,否则你得到一个空数组)其中index 0包含一个数组,每个匹配都有一个元素,其他索引成为捕获组,每个匹配都有一个内部数组.

这可能更容易理解......

array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(12) "entire match"
    [1]=>
    string(32) "entire match matched second time"
  }
  [1]=>
  array(2) {
    [0]=>
    string(15) "capturing group"
    [1]=>
    string(35) "capturing group matched second time"
  }
}
Run Code Online (Sandbox Code Playgroud)

  • @RVWard [我们必须更深入一级](http://inception.davepedu.com/). (2认同)