PHP preg_替换为数字组

PHP preg_替换为数字组,php,regex,preg-replace,regex-group,Php,Regex,Preg Replace,Regex Group,好的,这是我的 $string=Something 1234-123'//可以是连字符两侧任意数量的数字 $numbers=preg_replace(“/.*([0-9]*-[0-9]*).*/”、“$1”、$string); 回音$数字 这是打印出的“-123”,应该是打印出的1234-123。我觉得我只是错过了一些非常简单的东西。我想应该更多 *?([0-9]*-[0-9]*).我会使用preg\u match来代替: $string = 'Something something 1234-

好的,这是我的

$string=Something 1234-123'//可以是连字符两侧任意数量的数字
$numbers=preg_replace(“/.*([0-9]*-[0-9]*).*/”、“$1”、$string);
回音$数字

这是打印出的“-123”,应该是打印出的1234-123。我觉得我只是错过了一些非常简单的东西。

我想应该更多


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

我会使用preg\u match来代替:

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

1234-123

我在regex101.com上用表达式([0-9]*-[0-9]*)和测试字符串:Something Something 1234-123进行了测试,结果是:1234-123
“/.([0-9]+?-[0-9]+?)./”
如果您只想提取1234-123,请不要使用
preg\u replace
,使用
preg\u match
即可,我还得再等10分钟。对不起,我有点慌乱。感谢您指出@AvinashRaj