【问题标题】:How to regex a string - length 8, first character letter and remaining numeric如何正则表达式字符串 - 长度 8,第一个字符字母和剩余数字
【发布时间】:2015-09-08 16:35:37
【问题描述】:

我正在尝试创建一个正则表达式来匹配符合以下条件的字符串

  • 长度 8
  • 第一个字符必须是字母 a-z 或 A-Z
  • 剩下的 7 必须是数字 0-9

例子

  • a5554444
  • B9999999
  • c0999999

这是我目前所拥有的

^[0-9]{8}$

检查第一个字符时我缺少什么?我试过了

^[a-zA-Z][0-9]{8}$

但这不起作用。

【问题讨论】:

    标签: regex


    【解决方案1】:

    我想这就是你想要的:

    ^[a-zA-Z][0-9]{7}$
    

    {...} 元字符仅匹配最前面的模式,在您的情况下是 [0-9]。正则表达式解释如下:

    1. 从字符串的开头(^)开始
    2. 仅在第一个位置匹配任何字符 a-z 或 A-Z ([a-zA-Z]) 一次
    3. 匹配从第二个点 ([0-9]) 开始的任何字符 0-9
    4. [0-9] 的第 3 步中提到的上述模式必须恰好存在 7 次 ({7})

    当您按照原始问题输入 {8} 时,您将假定字符串总长度为 9:第一个字符不区分字母大小写,其余 8 个字符为数字。

    【讨论】:

    • 感谢您的详细回复。
    • 这里是一个构建正则表达式的站点。 regex101
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2018-07-30
    相关资源
    最近更新 更多