带有数字组的PHP preg_replace

时间:2015-03-15 01:40:28

标签: php regex preg-replace regex-group

好的就是我拥有的

$string=Something something 1234-123'; //can be an arbitrary amount of digits on each side of hyphen $numbers=preg_replace("/.*([0-9]*-[0-9]*).*/","$1", $string); echo $numbers;

这是打印出来的" -123",它应该打印出1234-123。我觉得我在这里错过了一些非常简单的东西。

2 个答案:

答案 0 :(得分:1)

我应该更多non-greedy

.*?([0-9]*-[0-9]*).*

答案 1 :(得分:0)

我改用preg_match:

$string = 'Something something 1234-123';
preg_match('/\d+-\d+/', $string, $match);
echo $match[0],"\n";

<强>输出:

1234-123