正则表达式在冒号后添加空格

Die*_*ira 2 php regex

如果没有空格,我正试图在冒号和字符或数字之间添加一个空格:

this is my sentence:hi it's midnight
this is my sentence:2012 was a good year.
this sentence should be ignored: ignore me
Run Code Online (Sandbox Code Playgroud)

我想要它阅读:

this is my sentence: hi it's midnight
this is my sentence: 2012 was a good year.
this sentence should be ignored: ignore me
Run Code Online (Sandbox Code Playgroud)

我试过这个没有成功. 正则表达式在vim中插入空格

我可以使用这个得到":X"或":0"(它与冒号后面的空格不匹配,这很好):

:[^\s]
Run Code Online (Sandbox Code Playgroud)

但如果我替换为:

: $0
Run Code Online (Sandbox Code Playgroud)

最终结果如下:

this is my sentence: :hi it's midnight
this is my sentence: :2012 was a good year.
Run Code Online (Sandbox Code Playgroud)

我正在使用http://www.gskinner.com/RegExr/来测试模式.

我将使用PHP preg_replace函数

任何帮助深表感谢.提前致谢.

Ble*_*der 6

您可以替换:\s*:<pretend this is a space>:

preg_replace('/:\s*/', ': ', $text)
Run Code Online (Sandbox Code Playgroud)

:\s*匹配:后跟任意数量的空格(或没有空格).