You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP的preg_replace中保留'.'、'\'和':'字符?

解决正则表达式保留指定字符的问题

嘿,我来帮你调整这个正则表达式~

你原来的正则用的是否定字符类([^...]),意思是匹配所有不在这个集合里的字符,然后替换成空格。现在要保留.、\和:,只需要把这三个字符添加到允许的字符集合里就行啦!

需要注意两个小细节:

  • 在PHP的单引号字符串中,要表示字面量的\,得写成\\(因为\在字符串里是转义字符)
  • .和:在正则的字符类里不需要转义,直接加进去就可以

修改后的代码如下:

$var1 = trim(preg_replace('/[^A-Za-z0-9\-\'\\\.:]/', ' ', $myString));

另外,也可以把-放在字符类的开头或者结尾,这样就不用转义它了,代码会更简洁一点:

$var1 = trim(preg_replace('/[^A-Za-z0-9\'\\\.:-]/', ' ', $myString));

很高兴听到你用Adlan提供的表达式已经得到了正确结果!如果那个无关的问题需要帮助,随时可以把细节说出来,大家一起帮你解决~

内容的提问来源于stack exchange,提问作者Nic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:18:53