【问题标题】:Need java regex pattern to determine the range after 1 alphabet需要java正则表达式模式来确定1个字母后的范围
【发布时间】:2021-09-23 04:45:08
【问题描述】:

我需要防止输入错误 - “A+ 9 位数字”。示例a1234567、a12345678、a123456789 是有效条目。

我试过了:[A]{1} + (([0-9]{7}$ | [0-9]{8}$ | [0-9]{9}$))。它工作正常,但有没有办法检查这个限制,比如 a+7、8、9 位?

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

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

【问题讨论】:

标签: java regex validation


【解决方案1】:

关于您尝试过的模式:

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

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

^[aA][0-9]{7,9}$
  • ^ 字符串开始
  • [aA] 匹配 A 或 a
  • [0-9]{7,9} 匹配一个数字 0-9 7-9 次
  • $字符串结束

Regex demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多