Regex 正则表达式匹配8或12或32十六进制数
我正在尝试为不区分大小写的十六进制数编写一个正则表达式,它的长度应该匹配8、12或32Regex 正则表达式匹配8或12或32十六进制数,regex,Regex,我正在尝试为不区分大小写的十六进制数编写一个正则表达式,它的长度应该匹配8、12或32 The regex I have so far is: /^[0-9A-F]{8}|[0-9A-F]{12}|[0-9A-F]{32}$/i The pattern I am trying to test against is: 96AFC4ADA8C44A36B0CB1EC28531C3BC or 870b72a9a020 or 569ac61e 但这似乎不符合标准 你能帮忙吗 谢谢,您可以使
The regex I have so far is:
/^[0-9A-F]{8}|[0-9A-F]{12}|[0-9A-F]{32}$/i
The pattern I am trying to test against is:
96AFC4ADA8C44A36B0CB1EC28531C3BC
or
870b72a9a020
or
569ac61e
但这似乎不符合标准
你能帮忙吗
谢谢,您可以使用以下内容:
/^[0-9A-F]{8}([0-9A-F]{4}([0-9A-F]{20})?)?$/i
如果存在最里面的组,则匹配32位数字;如果存在中间组但不存在最里面的组,则匹配12位数字;如果两个最里面的组都不存在,则匹配8位数字。您可以这样使用:
/^[0-9A-F]{8}([0-9A-F]{4}([0-9A-F]{20})?)?$/i
如果存在最内层组,则匹配32位数字;如果存在中间组但不存在最内层组,则匹配12位数字;如果两个内层组均不存在,则匹配8位数字。您的方法基本正确,但您需要从备选方案中选择
^
和$
,因此,它们作为一个整体应用于regexp:
/^(?:[0-9A-F]{8}|[0-9A-F]{12}|[0-9A-F]{32})$/i
您的方法基本上是正确的,但是您需要从备选方案中去掉
^
和$
,因此它们作为一个整体应用于regexp:
/^(?:[0-9A-F]{8}|[0-9A-F]{12}|[0-9A-F]{32})$/i
这个案例不敏感吗?@Jake如果你包括
i
标志(抱歉,我在原始版本中忽略了这个)。这个案例不敏感吗?@Jake如果你包括i
标志(抱歉,我在原始版本中忽略了这个)。可能的重复可能的重复