PHP -字符串模式匹配


PHP - String pattern matching

我需要知道是否有任何方法可以在PHP中使用正则表达式(或其他方式)执行以下操作

aaBaa BBB -> aaBaa BBB

即,只有当大写字母出现在小写字母的前后时,我才想在大写字母之前引入一个空格。

我能想到的最好的东西是这样的

$string = preg_replace('/('w+)([A-Z])/U', '''1 ''2', $string);

但是这只会给我一些像

这样的东西

aaBaa BBB -> abaa BBB

试试这个:

preg_replace('|([a-z])([A-Z])([a-z])|', '$1 $2$3', $txt);

这里:http://rubular.com/r/3xqbuWuiLD

([a-z]+)([A-Z]+)