我是 RegEx 的菜鸟,我正在尝试编写一个 RegEx 模式,它的总字符数最少为 6 个,最多为 9 个,其中前 3 个字符是字母(不区分大小写,仅 alpha),其余的是数字。
我有以下模式:^\w{3}\d{3,6}$
但由于某种原因,当我输入以下内容时,该模式返回真:aa12345
或Ap4587
等等。我需要前 3 个字符只是字母(精确)。
我希望有人能在这方面帮助我。
谢谢!!!
我是 RegEx 的菜鸟,我正在尝试编写一个 RegEx 模式,它的总字符数最少为 6 个,最多为 9 个,其中前 3 个字符是字母(不区分大小写,仅 alpha),其余的是数字。
我有以下模式:^\w{3}\d{3,6}$
但由于某种原因,当我输入以下内容时,该模式返回真:aa12345
或Ap4587
等等。我需要前 3 个字符只是字母(精确)。
我希望有人能在这方面帮助我。
谢谢!!!
\w
相当于[a-zA-Z0-9_]
。您应该将正则表达式更改为:
^[a-zA-Z]{3}\d{3,6}$
仅用于[a-zA-Z]
字母。我更喜欢使用[0-9]
它,即使它与\d
一致性相同
/^[a-zA-Z]{3}[0-9]{3,6}$/
\w
匹配a-z, A-Z, 0-9, _
并且只能用于字母数字字符
如果您想允许更广泛的 unicode 值,我建议:
[\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Lm}]{3}
这将允许小写、大写、标题、“其他”和修饰符作为您的前三个字符。
例如,[a-zA-Z]{3}
由于特殊字符,会排除单词“Résumé”。上面的模式将允许它。
我建议您查看正则表达式字符类的文档:
MSDN 文档也非常好,其中大部分与标准正则表达式库兼容:
尝试这个:
^[a-zA-Z]{3}\d{3,6}$
作为\w
比赛a-z, A-Z, 0-9