1

我需要一个满足以下规则的正则表达式:

  1. 长度必须在 8-32 个字符之间
  2. 必须以字母开头
  3. 不得包含任何空格
  4. 不得包含任何特殊字符

我在谷歌的帮助下尝试了自己的表达方式,^([a-zA-Z][a-zA-Z0-9]{8-32}[<>%\*])$ 但这给了我一个错误,比如“无法进行正则表达式匹配,原因:无法打开模式 U_REGEX_BAD_INTERVAL”

请帮我。提前致谢。

4

1 回答 1

5

怎么样:

^[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错误的原因:间隔用{}逗号和逗号表示。

于 2013-07-02T13:40:54.660 回答