php - 在 PHP 中将数字序列转换为数组

标签 php regex arrays string preg-match-all

有点 PHP 和 Regex 菜鸟,我从 Web 服务收到以下信息:

test:002005@1111@333333@;10205@2000@666666@;002005@1111@55555@;

上面一行是一个由 3 个数字组成的序列,重复 3 次。我想获得每个序列的第 3 个数字,我相信最好的类(class)(除了 3000 次爆炸)是 preg_match_all,但我很难全神贯注于 RegEx。

最终结果应该是这样的:

 Array
    (
        [0] => 333333
        [1] => 666666
        [2] => 55555
    )

在此先感谢您的帮助。

最佳答案

if(preg_match_all('/.*?(?:\d+@){2}(\d+)@;/',$s,$m)) {
        print_r($m[1]);
}

http://ideone.com/99M9t

你可以使用 explode 作为:

$input = rtrim($input,';');
$temp1 = explode(';',$input);
foreach($temp1 as $val1) {
        $temp2 = explode('@',$val1);
        $result[] = $temp2[2];
}
print_r($result);

http://ideone.com/VH29g

关于php - 在 PHP 中将数字序列转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532826/

相关文章:

php - 每次访问页面都没有得到返回值

php - 在 PHP 的构造函数中初始化类常量

regex - 如何有效地处理同一字符串上的多个 Perl 搜索/替换操作?

python - 如何获取字符串中另一个字符周围的一些字符?

python - 正则表达式模式不匹配连续组

ios - 如何根据值在模型对象数组中进行搜索

PHP 循环遍历数组获取值

php - Laravel Eloquent 'with' 数组正在中断

javascript - 检查json数据数组是否为空

arrays - Matlab:arrayfun,两个矩阵X,Y作为向量的分量