使用PHP preg_replace搜索并替换字符串中的数字

我有这样的格式:00-0000,并希望达到0000-0000.

到目前为止,我的代码

<?PHP
$string = '11-2222';
echo $string . "\n";
echo preg_replace('~(\d{2})[-](\d{4})~', "$1_$2", $string) . "\n";
echo preg_replace('~(\d{2})[-](\d{4})~', "$100$2", $string) . "\n";

问题是-0不会正确添加(我猜preg_replace认为我在说参数$100而不是$1)

我该如何工作?

解决方法:

您可以尝试以下方法.

echo preg_replace('~(?<=\d{2})-(?=\d{4})~', "00", $string) . "\n";

这会将连字符替换为00.您仍然可以简化它

要么

preg_replace('~-(\d{2})~', "$1-", $string)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...