我做错了什么?
echo preg_replace('#\d{3}\d{3}\d{3}\d{2}#', '$1.$2.$3-$4', '12345678901');
输出为: 123.456.789-01 。还没有形成字符串!!
答案 0 :(得分:3)
<?php
echo preg_replace('#(\d{3})(\d{3})(\d{3})(\d{2})#', '$1.$2.$3-$4', '12345678901');
是正确的,因为美元符号+整数是指()括号(分组)中的内容
答案 1 :(得分:2)
您没有正确分组(缺少括号):
echo preg_replace('#(\d{3})(\d{3})(\d{3})(\d{2})#', '$1.$2.$3-$4', '12345678901');