Php 正则表达式在字符串的特定位置添加连字符
我找到了这个正则表达式,如果提供的字符串中没有字母,它就可以正常工作Php 正则表达式在字符串的特定位置添加连字符,php,regex,Php,Regex,我找到了这个正则表达式,如果提供的字符串中没有字母,它就可以正常工作 $string = "12522191813381147500333332228323"; echo $formattedString = preg_replace("/^(\d{8})(\d{4})(\d{4})(\d{4})(\d{12})$/", "$1-$2-$3-$4-$5", $string); 我的输入字符串有时是字母和数字的混合体。我必须做些什么改变才能使它在这两种情况下都起作用。我还有其他选择,可以使用PH
$string = "12522191813381147500333332228323";
echo $formattedString = preg_replace("/^(\d{8})(\d{4})(\d{4})(\d{4})(\d{12})$/", "$1-$2-$3-$4-$5", $string);
我的输入字符串有时是字母和数字的混合体。我必须做些什么改变才能使它在这两种情况下都起作用。我还有其他选择,可以使用PHP的字符串函数迭代字符串并添加破折号,但我想了解如何使用正则表达式实现它
\w
还允许下划线,如果您真的只想允许字母数字字符,则必须执行以下操作:
([a-z0-9]{8})([a-z0-9]{4})
并在正则表达式的末尾(在最后一个
/
之后)包含一个i
标志,使其不区分大小写。+1感谢您提供了不区分大小写的部分。完全错过了!