如何使用正则表达式替换圆括号中的任何括号?
代码如下:
$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
相关文章