您可以使用preg_split
使用前瞻和回顾后:
print_r(preg_split('#(?<=\d)(?=[a-z])#i', "0982asdlkj"));
版画
Array
(
[0] => 0982
[1] => asdlkj
)
仅当字母部分实际上仅包含字母且没有数字时,这才起作用。
只是为了澄清这里发生的事情:
正则表达式看起来在每个位置上,如果一个数字是位置(前(?<=\d)
) 和 之后(一个字母(?=[a-z])
),那么它匹配和字符串在此位置获得分割。整个内容不区分大小写(i
)。