我想要一个正则表达式来验证某个用户名。用户名应仅包含以下字符A-Z a-z 0-9 - _ ] [
(没有空格)。到目前为止我得到了以下内容:
^[A-Z0-9-_]+$
但我也想允许] [
。
如何添加它们?
答案 0 :(得分:3)
您需要使用反斜杠转义字符类中的这些字符。您还应该转义-
,因为它在字符类中用作范围分隔符(如A-Z
中所示):
^[A-Z0-9\-_\[\]]+$
请注意,从技术上讲,您不需要逃避[
,但它不会受到伤害,而且如果我只是逃避它们,我会发现它更容易记住。
答案 1 :(得分:1)
尝试这种模式:
^[\][A-Z0-9-_]+$
只需要转义第一个]
,即便如此,如果放在字符类的开头,一些正则表达式引擎也不会要求你转义它。