字符串的正则表达式 - 长度为 9,第三个字符字母和剩余数字
Regex for a string - length 9, Third character letter and remaining numeric
我正在尝试创建一个 RegEx 来匹配符合以下条件的字符串
- 长度 7 或 9
- 如果字符数为 7,第一个字符必须是字母 a-z 或 A-Z。其余 6 个必须是数字 0-9。
示例:
a555444
B999999
- 第三个字符必须是字母 a-z 或 A-Z 如果字符数是 9 剩下的 8 必须是数字 0-9
示例:
12B456789
16K456745
我的正则表达式:
^[a-zA-Z][0-9]{6}$
这是我目前所掌握的,它只处理第一种情况。请帮我构建一个正则表达式来处理这个要求。
您可以使用替代:
^([A-Za-z][0-9]{6}|[0-9]{2}[A-Za-z][0-9]{6})$
详情
^
- 字符串的开头
(
- 分组构造的开始(您可以在 (
之后添加 ?:
以使其不捕获)将匹配...
[A-Za-z][0-9]{6}
- 一个 ASCII 字母,然后是 6 位数字
|
- 或
[0-9]{2}[A-Za-z][0-9]{6}
- 2 位数字,1 个字母,6 位数字
)
- 分组结构结束
$
- 字符串结尾。
像这样尝试正则表达式:
^([0-9]{2})?[a-zA-Z][0-9]{6}$
?
表示[0-9]{2}
组是可选的。
因此,如果您有一个长度为 7 的字符串,则该组不存在。如果你有一个长度为 9 的字符串,这个组就存在。
我正在尝试创建一个 RegEx 来匹配符合以下条件的字符串
- 长度 7 或 9
- 如果字符数为 7,第一个字符必须是字母 a-z 或 A-Z。其余 6 个必须是数字 0-9。
示例:
a555444
B999999
- 第三个字符必须是字母 a-z 或 A-Z 如果字符数是 9 剩下的 8 必须是数字 0-9
示例:
12B456789
16K456745
我的正则表达式:
^[a-zA-Z][0-9]{6}$
这是我目前所掌握的,它只处理第一种情况。请帮我构建一个正则表达式来处理这个要求。
您可以使用替代:
^([A-Za-z][0-9]{6}|[0-9]{2}[A-Za-z][0-9]{6})$
详情
^
- 字符串的开头(
- 分组构造的开始(您可以在(
之后添加?:
以使其不捕获)将匹配...[A-Za-z][0-9]{6}
- 一个 ASCII 字母,然后是 6 位数字|
- 或[0-9]{2}[A-Za-z][0-9]{6}
- 2 位数字,1 个字母,6 位数字
)
- 分组结构结束$
- 字符串结尾。
像这样尝试正则表达式:
^([0-9]{2})?[a-zA-Z][0-9]{6}$
?
表示[0-9]{2}
组是可选的。
因此,如果您有一个长度为 7 的字符串,则该组不存在。如果你有一个长度为 9 的字符串,这个组就存在。