0

是否有可能使用 获得最后一场比赛preg_match_all?使用这个正则表达式只会返回 126 81 这不是我想要的。在这种情况下,我希望返回 183 34。

$string = 'Korpstigen 126 183 34 Kalmar';
preg_match_all("/[0-9]{5}|[0-9]{3} [0-9]{2}/", $string, $matches, PREG_OFFSET_CAPTURE);
4

2 回答 2

2

我建议使用单词边界\b

preg_match_all("/\b[0-9]{5}\b|\b[0-9]{3} [0-9]{2}\b/", $string, $matches, PREG_OFFSET_CAPTURE);

正则表达式 101 演示

于 2013-09-17T16:52:28.630 回答
0

如果您只想获得 183 34 并忽略字符串的所有其他部分:

preg_match_all("/[0-9]{3} [0-9]{2} /", $string, $matches);

将返回

Array
(
    [0] => Array
        (
            [0] => 183 34 
        )

)

我不确定您的需求,但如果您需要所有三个数字

preg_match_all("/[0-9]{2,3}/", $string, $matches);

将返回

Array
(
    [0] => Array
        (
            [0] => 126
            [1] => 183
            [2] => 34
        )

)
于 2013-09-17T16:57:47.980 回答