如何正则表达字符串 - 长度为8,第一个字符和剩余数字

时间:2012-10-05 00:33:28

标签: regex

我正在尝试创建一个RegEx来匹配具有以下标准的字符串

  • 长度8
  • 第一个字符必须是字母a-z或A-Z
  • 其余7必须为数字0-9

实施例

  • a5554444
  • B9999999
  • c0999999

这是我到目前为止所拥有的

^[0-9]{8}$

检查第一个角色我错过了什么?我试过了

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

但那不起作用。

1 个答案:

答案 0 :(得分:52)

我认为这就是你想要的:

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

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

  1. 从字符串的开头(^)
  2. 开始
  3. 仅在第一个地点匹配任何字符a-z或A-Z([a-zA-Z])
  4. 从第二个位置开始匹配任何字符0-9([0-9])
  5. [0-9]的步骤3中提到的前述模式必须恰好存在7次({7})
  6. 根据原始问题放置{8}时,假设字符串长度为9:第一个字符不区分大小写,其余8个字符为数字。