【问题标题】:Regex Search Help正则表达式搜索帮助
【发布时间】:2009-05-25 18:59:39
【问题描述】:

给定一个字符串,例如:

a:2:{i:0;s:1:"1";i:1;s:1:"2";}

我想找到引号内的每个整数,并创建一个包含字符串中所有整数的数组。

最终结果应该是一个数组,如:

Array
(
    [0] => 1
    [1] => 2
)

我猜你使用 preg_match() 但我没有使用正则表达式的经验:(

【问题讨论】:

    标签: php regex arrays


    【解决方案1】:

    这个怎么样:

     $str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
     print_r(array_values(unserialize($str)));
    

    不是正则表达式,相同的答案。

    这是有效的,因为您拥有的字符串是一个序列化的 PHP 数组。使用正则表达式是错误的方法。

    【讨论】:

      【解决方案2】:

      正则表达式(在程序中)如下所示:

      $str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}';
      preg_match_all('/"(\d+)"/', $str, $matches);
      print_r($matches[1]);
      

      【讨论】:

        猜你喜欢
        • 2013-09-23
        • 1970-01-01
        • 2011-06-10
        • 1970-01-01
        相关资源
        最近更新 更多