Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我在哪里可以找到这个领域提取器的好参考资料?_Php_Regex - Fatal编程技术网

Php 我在哪里可以找到这个领域提取器的好参考资料?

Php 我在哪里可以找到这个领域提取器的好参考资料?,php,regex,Php,Regex,net提供了很好的参考资料,可用于。我正在试图理解我在上找到的这段代码,因此: 除此之外,我对所有代码片段都很熟悉: ?P<domain> ?P 这一部分与整体有什么关系。尤其是“P”。我假设只是在返回的关联数组中定义了一个键 function getDomain($url) { $pieces = parse_url($url); $domain = isset($pieces['host']) ? $pieces['host'] : '';

net提供了很好的参考资料,可用于。我正在试图理解我在上找到的这段代码,因此:

除此之外,我对所有代码片段都很熟悉:

?P<domain>
?P
这一部分与整体有什么关系。尤其是“P”。我假设
只是在返回的关联数组中定义了一个键

  function getDomain($url) 
    {
    $pieces = parse_url($url);
    $domain = isset($pieces['host']) ? $pieces['host'] : '';
    if(preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) 
      {
      return $regs['domain'];
      }
    return false;
    }
函数getDomain($url) { $pieces=parse_url($url); $domain=isset($pieces['host'])?$pieces['host']:''; if(preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i',$domain,$regs)) { 返回$regs['domain']; } 返回false; }
部分定义了该组的名称。这意味着您可以使用
$regs['domain']
按名称访问它,而不是按编号
$regs[0]
。它在大型正则表达式中很有用,因为给每个组命名可以更容易地理解发生的事情。

所以?p是其中的一部分…这是在php.net中的某个地方引用的,我在上面提供了链接。在上面链接的preg_match文档页面中,示例4显示了正在使用的命名子模式。这里也对它们进行了一些解释,尽管不是特定于PHP: