php - 求一个正则表达式!!!
黄舟
黄舟 2017-04-10 16:49:04
[PHP讨论组]

现有如下字符串

(Auth::user()->name,'154555')

需要用正则表达去掉第一个()和所有''
期望结果为

Auth::user()->name,154555

现在倒是有一个,不过,,它把所有的()都去掉了。。。

preg_replace("/[\(\)\\\"\']/", '', $expression)
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
PHPz
$str = "(Auth::user()->name,'154555')";
echo preg_replace("/^\(|\'|\)$/", '', $str);```

括号值针对 开头和结尾 
怪我咯

用 lookahead 和 lookbehind 来捕获由 () 字符 /[\((?!\))(?<!\))\)\\\"\']/

如果你要捕获的是代码里遇到第一个 () 和所有的 "' 那么只能用两个正则来过滤。

怪我咯
preg_replace("/\'/u", "", preg_replace("/\((.+)\)/", "$1", $str))
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号