如何使用正则表达式在下划线之间选择数字?

时间:2014-05-18 11:34:03

标签: php regex

我想只获得粗体值,但我没有。

349141_的 194419414 _4828414_n.jpg

https:// hphotos-ash3.net/t1.0-9/1146_54482593153_1214114_n.jpg

谢谢你

4 个答案:

答案 0 :(得分:2)

(我不确定这个方法是否合适,但你可以得到你想要的任何价值)

$r="349141_194419414_4828414_n";
print_r(explode('_',$r));

输出:

Array ( [0] => 349141 [1] => 194419414 [2] => 4828414 [3] => n )

$rr=explode('_',$r);
echo $rr[1];

输出

194419414

答案 1 :(得分:2)

您可以将preg_match与捕获组一起使用以获得结果:

<?php
    $searchText = "349141_194419414_4828414_n.jpg";

    $result = preg_match("/_(\\d+)_/u", $searchText, $matches);
    print_r($matches[1]);
?>

输出:

194419414

答案 2 :(得分:0)

尝试这样的事情:

.+/\d+_(\d+)_\d+_n.jpg

答案 3 :(得分:-1)

这是一个正则表达式答案。

$filename = '349141_194419414_4828414_n.jpg';

preg_match_all('/[0-9]+/', $filename, $matches);

echo $matches[0][1]; //194419414