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

Sai*_*han 16 regex

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

  • 长度8
  • 第一个字符必须是字母az或AZ
  • 其余7必须是数字0-9

例子

  • a5554444
  • B9999999
  • c0999999

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

^[0-9]{8}$
Run Code Online (Sandbox Code Playgroud)

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

^[a-zA-Z][0-9]{8}$
Run Code Online (Sandbox Code Playgroud)

但那不起作用.

Cra*_*sta 53

我想这就是你想要的:

^[a-zA-Z][0-9]{7}$
Run Code Online (Sandbox Code Playgroud)

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

  1. 从字符串的开头开始(^)
  2. 匹配任何字符az或AZ([a-zA-Z])在第一个位置只有一次
  3. 从第二个位置开始匹配任何字符0-9([0-9])
  4. [0-9]步骤3中提到的前一个模式必须正好存在7次({7})

当你把{8}按你原来的问题,你会认为字符串长度共9:第一个字符是字母不区分大小写,其余8个字符是数字.

  • 这是一个用于构建正则表达式的站点。[正则表达式101](https://regex101.com) (2认同)