【发布时间】:2017-12-04 06:54:13
【问题描述】:
以下条件我需要一个正则表达式:
- 字符串的长度正好是8
- 字符串不能以 PAK 开头
- 第一个字符必须是大写字符 [A-Z]
- 第二个到第四个字符可以是大写字符
- 剩余的字符只能是数字
例子:
- PAK12345 -> 不允许
- T1234567 -> 允许
- ABCD1234 -> 允许
- ABC12345 -> 允许
- AB12345A -> 不允许
- ABCDE123 -> 不允许
- ABC123 -> 不允许
其实我有以下正则表达式:
(?!PAK)([A-Z]{1,4}[A-Z0-9]{7})$
这个正则表达式的问题是,“ABCDE123”是一个匹配项。
我怎么能说前 1 到 4 个字符只是大写字符,其余(直到总长度为 8)是数字?
【问题讨论】:
-
你的意思是 1 到 5 是大写的?
-
1 到 4 可以是大写。 1 必须为大写