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

2022-08-07 00:00:00 string regex php preg-replace

代码如下:

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

它在该字符串中根本没有替换...还有比这更好的编码吗?

谢谢。


解决方案

{[<从不出现在您的字符串中。使用字符类或可选分组。

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

替代非字符类方法:

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

https://3v4l.org/URvcb

相关文章