php - 正则表达式编译错误

标签 php regex preg-replace

<分区>

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

根据 regexpal它正在工作,但 PHP 抛出以下错误:

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

这是正则表达式:

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

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

最佳答案

你在结束时转义]

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

此外,没有必要转义 (如果它在字符类中)

关于php - 正则表达式编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16758656/

相关文章:

regex - Go 中不前瞻地匹配进行中的单词

java - 从文本中提取特定单词

php - 使用 SQL 将行元素分组为一列

php - Xdebug 远程调试 - 在单步执行、单步执行等时崩溃

php - 如何在 PHP 和 MongoDB 中正确捕获异常

javascript - 正则表达式 : Letters, 仅限数字、空格、连字符、句点和下划线,并且必须以字母开头

php - preg_replace 删除独立号码

php - 使用 preg_replace 在 PHP 字符串中查找电话号码的终极方法

php - 将 preg_replace() 替换为 preg_replace_callback()

php - 使用 AJAX 以 "post"登录用户的用户名到 mysql 数据库