我想将字符串格式化为序列号。我想得到类似的东西:
AAAAA-BBBBB-CCCCC-DDDDD
包含字母数字字符(0-9ABCDEF
)。
到目前为止,我已经尝试创建一个正则表达式来实现这一点,但我不知道我应该如何处理它。这是我制作的代码:
$output = preg_replace('[0-9ABCDEF]{5}[0-9ABCDEF]{5}[0-9ABCDEF]{5}[0-9ABCDEF]{5}', '$1-$2-$3-$4', $input);
这是非常基本但我不能使它有效。
$input
包含一个原始字符串;例如A47D2F771AC412BADC4F
(20个字符长)。
提前感谢您的宝贵帮助。
答案 0 :(得分:3)
你忘记了小组。
preg_replace('([0-9A-F]{5})([0-9A-F]{5})([0-9A-F]{5})([0-9A-F]{5})', ...
# ^ ^^ ^^ ^^ ^
答案 1 :(得分:3)
尝试这种非正则表达式方法,让自己头疼:
$pieces = str_split( $input, 5 );
$formatted_input = implode("-", $pieces);