什么是匹配方括号的正则表达式?我正在使用\\]一个模式eregi_replace,但它似乎无法找到]...
完美无瑕:
<?php
$hay = "ab]cd";
echo eregi_replace("\]", "e", $hay);
?>
Run Code Online (Sandbox Code Playgroud)
输出:
abecd
Run Code Online (Sandbox Code Playgroud)
有两种方法可以做到这一点:
/ [\]] /x;
/ \] /x;
Run Code Online (Sandbox Code Playgroud)
虽然您可能认为后者是更好的选择,但实际上我会考虑在更简单的正则表达式中使用它。我会考虑前者,对于较大的正则表达式来说是更好的选择。考虑以下:
/ (\w*) ( [\d\]] ) /x;
/ (\w*) ( \d | \] ) /x;
Run Code Online (Sandbox Code Playgroud)
在这个例子中,前者是我的首选解决方案。它可以更好地组合单独的实体,每个实体都可以在给定位置匹配。它还可能具有一些速度优势,具体取决于实施情况。
注意:这是 Perl 语法,部分是为了确保正确突出显示。
在 PHP 中,您可能需要将反斜杠加倍。
"[\\]]"和"\\]"