php – 正则表达式:如果字母与数字相邻,则添加空格

我正在使用PHP而且对正则表达式并不是很好.我需要一个preg_replace,如果字母或数字相邻,可以添加空格.

这些是场景:

mystreet12 -> mystreet 12
mystreet 38B -> mystreet 38 B
mystreet16c -> mystreet 16 c
my street8 -> my street 8

谢谢.

最佳答案
您可以使用lookarounds来匹配这样的位置,如下所示:

preg_replace('/(?<=[a-z])(?=\d)|(?<=\d)(?=[a-z])/i', ' ', $str);

根据您定义“字母”的方式,您可能需要调整[a-z].

需要使用Lookarounds才能使其与以下字符串一起正常工作:

0a1b2c3

没有解决方案会失败.

转载注明原文:php – 正则表达式:如果字母与数字相邻,则添加空格 - 代码日志