dqsvf28682 2010-06-17 13:04
浏览 24
已采纳

正则表达式修复此问题? [延期]

Sorry for the redundancy, I should've asked this in my previous question here: What's the regex to solve this problem?

This question is an extension:

From the elements in an array below:

http://example.com/apps/1235554/
http://example.com/apps/apple/
http://example.com/apps/126734
http://example.com/images/a.jpg

I'm separating out apps/{number}/ and apps/{number} using:

foreach ($urls as $url)
{
    if (preg_match('~apps/[0-9]+(/|$)~', $url)) echo $url;
}

Now, how do I also push {number} to another array with the same regex?

  • 写回答

2条回答 默认 最新

  • dongliang9682 2010-06-17 13:09
    关注

    preg_match() takes an array as third parameter that will contain the matches. Create a capture group with () and the number will then be contained in $matches[1]:

    $numbers = array();
    
    foreach ($urls as $url)
    {
        $matches = array();
        if (preg_match('~apps/([0-9]+)~', $url, $matches)) { // note the "( )" in the regex
            echo $url;
            $numbers[] = $matches[1];
        }
    }
    

    FYI, $matches[0] contains the whole matched pattern as described in the documentation. Of course you can name the array as you like.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊