php替换正则表达式

Enk*_*kay 4 php regex replace

我需要使用php在句点和下一个单词/字母之间添加空格.

例如,"这是一个句子.这是下一个." 需要成为"这是一个句子.这是下一个." 注意第一个句点后添加的空格.

我的问题是,即使我能够创建一个正则表达式,找到每个点后跟一个字母,我如何用"点+空格"替换该点并保留字母?

此外,它需要保持字母的大小写,低或高.

感谢您的输入.

irc*_*ell 9

$regex = '#\.(\w)#';
$string = preg_replace($regex, '. \1', $string);
Run Code Online (Sandbox Code Playgroud)

如果您想要捕获的不仅仅是句点,您可以:

preg_replace('#(\.|,|\?|!)(\w)#', '\1 \2', $string);
Run Code Online (Sandbox Code Playgroud)

只需将要替换的字符添加到first()块中即可.不要忘记逃避特殊字符(http://us.php.net/manual/en/regexp.reference.meta.php)

  • \ 1是第一组中捕获的内容(第一组括号中包含的正则表达式).它被称为后向引用. (2认同)