Php 角色之前的所有内容都要预先替换

Php 角色之前的所有内容都要预先替换,php,arrays,regex,function,preg-replace,Php,Arrays,Regex,Function,Preg Replace,我试图删除一个字符串的某些部分,该字符串前面有一个ID和:。例如: 2846:ZE1,2847:ZE2,2848:ZE3,713:DY10,412:CF10 但我希望它看起来像这样: ZE1,ZE2,ZE3,DY10,CF10 我尝试了以下preg_替换: $remove = preg_replace('/[0-9]\:+/', '', $postcodes_id); 但这只会删除最后一个数字,而不是全部数字: 284ZE1,284ZE2,284ZE3,71DY10,41CF10 有什么

我试图删除一个字符串的某些部分,该字符串前面有一个ID和:。例如:

2846:ZE1,2847:ZE2,2848:ZE3,713:DY10,412:CF10
但我希望它看起来像这样:

ZE1,ZE2,ZE3,DY10,CF10
我尝试了以下preg_替换:

$remove = preg_replace('/[0-9]\:+/', '', $postcodes_id);
但这只会删除最后一个数字,而不是全部数字:

284ZE1,284ZE2,284ZE3,71DY10,41CF10
有什么帮助吗?

试试这个:

$remove = preg_replace('/[0-9]+\:/', '', $postcodes_id);
添加
+
意味着“一个或多个数字”,而不是“一个”的代码

我很确定你不需要在
之前使用
\

试试这个:

$remove = preg_replace('/[0-9]+\:/', '', $postcodes_id);
添加
+
意味着“一个或多个数字”,而不是“一个”的代码


我很确定你在
之前不需要
\

你把
+
放错地方了,应该是:

preg_replace('/[0-9]+:/', '', $postcodes_id);

您也不需要转义
,它在正则表达式中没有特殊意义。

您将
+
放在错误的位置,它应该是:

preg_replace('/[0-9]+:/', '', $postcodes_id);
您也不需要转义
,它在正则表达式中没有特殊意义。

非正则表达式解决方案

非正则表达式解决方案

由于您的回答是第一位的,我将接受您的回答,谢谢您的帮助。阅读关于regex的tuts时有点困惑,所以感谢您的评论。因为您的答案是第一位的,我将接受您的答案,谢谢您的帮助。阅读正则表达式上的图坦卡门有点困惑,所以感谢您的评论。