请教一个关于str_replace的正则替换问题

例如这个: 满19元减10元

最后数据只要10元,其他的替换掉

这个19是随机的数字,可能1位 2位 3位等

应该如何写个 str_replace 正则把 满*减 替换掉?

阅读 6.4k
4 个回答

1 str_replace是普通字符串替换,正则替换是preg_replace
2.这种可以用preg_match提取

$str = '满19元减10元';
preg_match('/满\d{1,}元减(.*)元/',$str,$match);
$money = isset($match[1])?$match[1]:null;
var_dump($money);//10

1、正则

/满\d*元减/
// 或者
/满.*?元减/

2、字符串截取,10元这几个字即可。

(?:[1-9]\d*|0)(?:\.\d+)?元$

这是正则,你直接提取不就可以了

图片描述

可以用preg_replace("/满.*减(d+元)/", "$1","满19元减10元");来实现替换