繁体   English   中英

简单的正则表达式替换冒号

[英]Simple regular expression replacing colons

我需要一个简单的正则表达式用于php preg_replace:

输入:快棕色:no:狐狸等输出:快棕色!| no |! 狐狸等

:something:到!| something |!

尝试这个:

$str = preg_replace('/:([^:]+):/', '!|\\1|!', $str);
$output = preg_replace('/:([^ ]+):/', '!|$1|!', $input);

您可能希望将[^ ]替换为更特定的集合,具体取决于您期望在: s之间。

这取决于冒号之间是否有空格。 如果不是:

$out = preg_replace('!:([^ ]+):!', '!|$1|!', $in);

很好 您可能还需要考虑使用非贪婪表达式:

$out = preg_replace('!:(.+?):!', '!|$1|!', $in);

这是另一个选择:

$out = preg_replace('!:([^:]+):!', '!|$1|!', $in);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM