3

我正在搜索删除x路径开头的 a 的正则表达式。接受的路径分隔符是\,/.路径也可以以这些分隔符之一开始,但不是必须的。

根据正则表达式它正在工作,但 PHP 抛出以下错误:

Compilation failed: missing terminating ] for character class at offset 24

这是正则表达式:

/^([\/\.\\]?)X([\/\.\\]{1})/i

这个正则表达式有什么问题?

4

2 回答 2

4

]在最后逃跑

您可以改为使用preg_quote(),它在作为正则表达式语法一部分的每个字符前面放置一个反斜杠。

此外,无需转义.(如果它在字符类中)

于 2013-05-26T11:14:59.853 回答
0

这将替换每个非字母或非数字字符之后的所有 x。

$result = preg_replace('/(?<=\W)x/', '', $subject);

于 2013-05-26T12:01:03.520 回答