求一个正则表达式!!!
程序员文章站
2024-01-04 14:28:46
...
现有如下字符串
(Auth::user()->name,'154555')
需要用正则表达去掉第一个()
和所有''
期望结果为
Auth::user()->name,154555
现在倒是有一个,不过,,它把所有的()
都去掉了。。。
preg_replace("/[\(\)\\\"\']/", '', $expression)
回复内容:
现有如下字符串
(Auth::user()->name,'154555')
需要用正则表达去掉第一个()
和所有''
期望结果为
Auth::user()->name,154555
现在倒是有一个,不过,,它把所有的()
都去掉了。。。
preg_replace("/[\(\)\\\"\']/", '', $expression)
$str = "(Auth::user()->name,'154555')";
echo preg_replace("/^\(|\'|\)$/", '', $str);```
括号值针对 开头和结尾
用 lookahead 和 lookbehind 来捕获由 (
和 )
字符 /[\((?!\))(? 。
如果你要捕获的是代码里遇到第一个 ()
和所有的 "'
那么只能用两个正则来过滤。
preg_replace("/\'/u", "", preg_replace("/\((.+)\)/", "$1", $str))