好的就是我拥有的
$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。我觉得我在这里错过了一些非常简单的东西。
答案 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