我需要一个满足以下规则的正则表达式:
- 长度必须在 8-32 个字符之间
- 必须以字母开头
- 不得包含任何空格
- 不得包含任何特殊字符
我在谷歌的帮助下尝试了自己的表达方式,^([a-zA-Z][a-zA-Z0-9]{8-32}[<>%\*])$
但这给了我一个错误,比如“无法进行正则表达式匹配,原因:无法打开模式 U_REGEX_BAD_INTERVAL”
请帮我。提前致谢。
怎么样:
^[A-Za-z][A-Za-z0-9]{7,31}$
这只允许字符 AZ、az 和数字 0-9,它会自动排除空格和特殊字符。
说明:
^[A-Za-z]
表示它必须以字母开头,AZ 或 az。^
符号表示开始。[A-Za-z0-9]{7,31}$
表示在满足第一条规则后,必须有 7 到 31 个字符是数字或字母,之后我们必须到达结尾;表示$
结束。如果您有其他要允许的字符,可以将它们添加到第一组括号中,只是不要忘记转义任何需要它的字符(例如*
)。另请注意,我使用 {7,31} 以逗号表示 7 到 31 次重复,而不是您在示例代码中使用的破折号。这就是您收到U_REGEX_BAD_INTERVAL
错误的原因:间隔用{}
逗号和逗号表示。