【发布时间】:2019-09-29 19:03:12
【问题描述】:
我想匹配正则表达式中的文字/ 字符,所以我使用[/]。使用this example 会导致
/ 未转义的分隔符必须用反斜杠 () 转义
是我错了还是网站错了?据我所知,方括号[] 内的所有字符都必须以不带转义字符的文字形式出现。
请向我澄清。
编辑:
我使用 MySQL。如果我想遇到文字/,应该如何呈现/?使用[/] 正确吗?还是[\/]?
【问题讨论】:
-
什么风格/语言?不,括号不会改变 / 的含义,因为 / 不是表达式的一部分。它是一个外部分隔符。
-
如果
/是您的默认正则表达式分隔符,那么您需要像\/一样对其进行转义,无论它是否在字符集中都无关紧要。但是如果你像在 PHP 中那样改变它,那么你甚至不需要在字符类之外转义它。 -
我正在使用 MySQL。请注意,我在方括号内谈论 / 因为我想匹配 / 字面意思。
-
在 regex101 上,您可以更改分隔符(在本例中为正斜杠)。在输入正则表达式的输入字段中,左侧有 3 个垂直点。您可以单击它并将其更改为正斜杠以外的其他内容。
-
@user9371654:在 MYSQL db 中,您不需要转义
/,可以按原样写/。您能否分享您正在使用的 MYSQL 数据库版本以及导致您出现此错误的查询是什么?