保留preg_replace找到的字符

时间:2017-07-07 23:35:17

标签: php regex uppercase

我想要替换一个点后跟一个空格后跟一个大写,我尝试使用此模式将其替换为   

preg_replace('/\. [A-Z]/', '.    'With marriage came a move to the beautiful Birmingham, Alabama area. Diving in head first.');

它正在发挥作用,但我首先失去了D of Diving。

我该如何保留它?

1 个答案:

答案 0 :(得分:1)

将字母匹配模式放入非消费前瞻:

'/\.\s+(?=[A-Z])/'

\s+将匹配1个或多个空格(或者如果你不想要那个,保留常规空间)和(?=[A-Z])使引擎需要一个大写的ASCII字母才能出现在当前位置之后在字符串中。

请参阅PHP demo打印With marriage came a move to the beautiful Birmingham, Alabama area.   Diving in head first.