duanmen8491 2018-09-03 10:00
浏览 62

在大括号之间获取数据[重复]

This question already has an answer here:

$string = "[john] sometext [rohn] sometext [mohan]";

How to get the data between square brackets each in different array.

I have below code

preg_match_all("/\((?:[^()]|(?R))+\)/",  $string , $matches);

above code works perfect for curly bracket in the way i need, but how to make it work for square brackets?

</div>
  • 写回答

1条回答 默认 最新

  • dougan0529 2018-09-03 10:04
    关注
    $string = "[john] sometext [rohn] sometext [mohan]";
    preg_match_all("/\[([^]]+)\]/",  $string , $matches);
    print_r($matches);
    

    Output:

    Array
    (
        [0] => Array
            (
                [0] => [john]
                [1] => [rohn]
                [2] => [mohan]
            )
    
        [1] => Array
            (
                [0] => john
                [1] => rohn
                [2] => mohan
            )
    
    )
    

    Explanation:

    \[          : opening square bracket
    (           : start group 1
        [^]]+   : 1 or more any character that is not closing square bracket
    )           : end group 1
    \]          : closing square racket
    
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)