需要java正则表达式模式来确定1个字母表之后的范围



我需要防止输入错误-"A+9位数字"。示例a1234567a12345678a123456789是有效条目。

我试过了:[A]{1} + (([0-9]{7}$ | [0-9]{8}$ | [0-9]{9}$))。它工作得很好,但有没有办法检查这个极限,比如+7,8,9位数字?

我试过[A]{1} + (d{7}|d{8}|d{9})$

但在我的项目中,他们使用java.util.regex.pattern.compile,因此它给了我一条错误消息。

关于您尝试的模式:

  • 空格在正则表达式中有意义
  • 要匹配A,不必使用方括号和{1}
  • 如果你想使用d,你必须像\d一样对反斜杠进行双转义

您可以将初始正则表达式缩短为

^[aA][0-9]{7,9}$
  • ^字符串开始
  • [aA]匹配Aa
  • [0-9]{7,9}匹配7-9次数字0-9
  • $字符串末尾

Regex演示

最新更新