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 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码