dougua9165 2019-06-17 18:03
浏览 325
已采纳

如何使用正则表达式替换圆括号的任何括号?

Here is code:

$string="{1},[2],(3),<4>";
// Replaces closing square, curly, angle brackets with round brackets
$string = preg_replace('/\{\[\</', '(', $string);
$string = preg_replace('/\}\]\>/', ')', $string);

It didn't replace at all in that string... Any better coding than that?

Thanks.

  • 写回答

4条回答 默认 最新

  • dongxuan1314 2019-06-17 18:05
    关注

    {[< never occurs in your string. Use a character class or optional grouping.

    $string = preg_replace('/[{[<]/', '(', $string);
    $string = preg_replace('/[}>\]]/', ')', $string);
    

    Alternative non character class approach:

    $string = preg_replace('/(?:\{|<|\[)/', '(', $string);
    $string = preg_replace('/(?:\}|>|\])/', ')', $string);
    

    https://3v4l.org/URvcb

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?