Php 正则表达式和preg_replace存在问题

Php 正则表达式和preg_replace存在问题,php,regex,Php,Regex,我对正则表达式和php有一个小问题。 这就是我所拥有的: 8球脚本S Caps S S K 这就是我想要的: 8球脚本S帽SSK 简言之,我需要动态地纠正字符串中的每个删节。在字符串中的任何地方,我都可以找到类似“ABRIV”的东西,它需要删除空格“ABRIV”,而不必与字符串中的其他任何东西发生冲突。所以我可以有一个类似“HI,Hello F O World,i have B a C O N”的字符串,应该变成“HI,Hello FOO World,i have BACON” 这是我目前的代码

我对正则表达式和php有一个小问题。 这就是我所拥有的:

8球脚本S Caps S S K

这就是我想要的:

8球脚本S帽SSK

简言之,我需要动态地纠正字符串中的每个删节。在字符串中的任何地方,我都可以找到类似“ABRIV”的东西,它需要删除空格“ABRIV”,而不必与字符串中的其他任何东西发生冲突。所以我可以有一个类似“HI,Hello F O World,i have B a C O N”的字符串,应该变成“HI,Hello FOO World,i have BACON”

这是我目前的代码:

$string = preg_replace("/(?<= )[A-Z](?![a-z]).(?![A-Za-z]+[a-z])/", '$0', $string);

$string=preg\u replace(“/(?这似乎是您想要的:

$s = preg_replace('~(?<![A-Za-z])([A-Z]) (?=[A-Z](?![A-Za-z]))~', '$1', $s);

$s=preg_-replace(“~(?
$string=str_-replace(“s-K”,“SSK”,“string”);
在这样一个简单的问题上不需要使用
preg_-replace
))需要是动态的,所以输入的字符串也可以是“lkd Text L F D More Text”“。你需要更具体一些。为什么
S
sk
之间的空格被删除了,但是
S Caps
之间的空格没有呢?@eldamar:那么你需要告诉我们细节,比如什么构成了一个组?为什么
sk
应该被分组为一个,而不是
S Caps
?(如@Bart所说)很抱歉,我的英语不是很好。原因是S K是缩写,Caps是单词,因此我需要在字符串上全局更正所有缩写。更具体地说,我需要在大写字母后加空格、大写字母,而不是小写字母后加r移动下面的空格。