我有这样的格式: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)