我试图使用正则表达式验证32个十六进制字符串:
^[0-9A-Fa-f]+$
然而,错误的字符串如
123456789012345678901234567890gg
或
1234567890123456789012345678gggg
被接受了。可能是什么原因?
答案 0 :(得分:1)
使用
\A[A-Fa-f0-9]{32}\z
对于所有引擎不支持\ z和\ A锚点,您可以改为使用:
^[a-fA-F0-9]{32}$
答案 1 :(得分:0)
只需在正则表达式中使用前瞻,只允许32个字符,
^(?=.{32}$)[0-9A-Fa-f]+$
^[0-9A-Fa-f]+$
允许一个或多个十六进制字符。要限制字符,您需要在前瞻(?=...)
或设置括号{}
中指定字符数限制。