正则表达式允许] [

时间:2013-12-30 17:35:36

标签: regex

我想要一个正则表达式来验证某个用户名。用户名应仅包含以下字符A-Z a-z 0-9 - _ ] [(没有空格)。到目前为止我得到了以下内容:

^[A-Z0-9-_]+$ 

但我也想允许] [

如何添加它们?

2 个答案:

答案 0 :(得分:3)

您需要使用反斜杠转义字符类中的这些字符。您还应该转义-,因为它在字符类中用作范围分隔符(如A-Z中所示):

^[A-Z0-9\-_\[\]]+$ 

请注意,从技术上讲,您不需要逃避[,但它不会受到伤害,而且如果我只是逃避它们,我会发现它更容易记住。

答案 1 :(得分:1)

尝试这种模式:

^[\][A-Z0-9-_]+$

只需要转义第一个],即便如此,如果放在字符类的开头,一些正则表达式引擎也不会要求你转义它。