我需要防止输入错误-"A+9位数字"。示例a1234567
、a12345678
、a123456789
是有效条目。
我试过了:[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]
匹配A
或a
[0-9]{7,9}
匹配7-9次数字0-9$
字符串末尾
Regex演示