PHP - 选择两个字符之间的字符串的一部分

时间:2011-01-04 11:14:41

标签: php regex string

我一直在研究这个问题,我相信答案是用正则表达式做的,但我无法理解它们。

我有很多字符串,我需要选择两个字符之间的数字。这是一个示例字符串

&user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2,

我需要在A/3/1/2,之后和之后的,

之前发生的数字

在此示例中,我需要选择335。我可以使用explode来做到这一点但是当我需要从字符串中获取多个数字时遇到问题,如下例所示。

这是另一个示例字符串

&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,

我需要在A/3/1/2,之后和之后的,之前获取数字。因此,在此示例中,我想要142104625

如果有人能告诉我怎么做,我们将不胜感激。

3 个答案:

答案 0 :(得分:3)

$string = '&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,';
preg_match_all('/A\/3\/1\/2,([0-9]*?),/', $string, $matches);
var_dump($matches);

答案 1 :(得分:2)

preg_match_all('/A\/3\/1\/2,([^,]+),/', $input, $matches = array());
print_r($matches);

答案 2 :(得分:1)

if(preg_match_all('#A/3/1/2,([^,]*),#',$str,$matches)) {                        
        // $matches[1] will have the required results.
}

See it in action