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

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

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条)

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突