带前缀的有效十进制或十六进制的正则表达式

时间:2016-07-07 14:22:18

标签: regex

我使用以下RegEx来验证十六进制/十进制数:

(0x)?[0-9A-Fa-f][0-9A-Fa-f]*

这正确匹配:

1234   (decimal)
0x12CD (hex)
0x12cd (hex lowercase)

然而,它也允许

12CD   (hex without the 0x prefix)

在允许hex [A-Fa-f]字符之前,RegEx是否有办法要求0x前缀?

1 个答案:

答案 0 :(得分:2)

你能做到:

renderer.circle(startCircle.x, startCircle.y, startCircle.radius);
renderer.circle(endCircle.x, endCircle.y, endCircle.radius);

这将匹配 十六进制或十进制数字,这似乎是你所追求的。它声明如果数字是十六进制值,则必须以0x为前缀。

注意:单词边界\b(0x[0-9a-fA-F]+|[0-9]+)\b 在这里也很重要。

这是link to a working example