正则表达式和preg_replace问题

时间:2011-09-07 15:37:57

标签: php regex

我有正则表达式和PHP的小问题。 这就是我所拥有的:

  

8 Ball Script S Caps S S K

这就是我想要的:

  

8 Ball Script S Caps SSK

简而言之,我需要动态地纠正字符串中的每一次掠夺。无论在字符串中我能找到类似“A B R I V”的东西,它都需要删除空格“ABRIV”而不必拧紧字符串中的其他内容。所以我可以拥有一个类似“H I,Hello F O O World,我有B A C O N”之类的字符串应该成为“HI,你好FOO World,我有BACON”。

到目前为止,这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

这似乎可以做你想要的:

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

<强> see a demo on ideone.com