我需要做以下事情:
$hashes = "hash_0000199a5e6d7781cc1bd6cf24f64dd6ffb423|hash_00001977087c71ad7073c31041e3ea503f79ce|hash_000019bc1896ab17d3a1b616c4e9a0fa6f06e0";
$hashes = preg_replace("hash_\d{6}", "", $hashes);
$hashes
现在应该只包含与之前相同的hash_000019
。前6个数字可以改变,这就是为什么我需要正则表达式来包含\d{6}
我可能正在做正则表达式的错误。我希望你明白我的问题是什么。
任何帮助表示感谢。
答案 0 :(得分:3)
第一个参数在搜索中需要“分隔符”。
preg_replace('/hash_\d{6}/', '', $hashes);
答案 1 :(得分:3)
您忘记在正则表达式中添加分隔符:
$hashes = preg_replace("/hash_\d{6}/", "", $hashes);
除/
之外还有很多其他可能性,但必须对所选分隔符进行转义。阅读分隔符here。