十六进制数(正数或正数)的正则表达式是什么? 我需要一个代码,可以识别我输入的数字是十六进制(它可以是无理数或负数)
可接受的数字:
123.23
23
12F12.A1
-12C1
-23.5
-AB.34
小数点是可选的。
答案 0 :(得分:2)
使用以下正则表达式:
-?([\dA-Fa-f]+)(\.?[\dA-Fa-f]+)?
Here your example in regex101!
下次考虑先尝试使用regex101找出所需的正则表达式。它比第一眼看起来更容易;)
答案 1 :(得分:0)
-?[0-9A-F]+(\.[0-9A-F]+)?
解释:
-?
可能是也可能不是以' - '
[0-9A-F]
接受0到9或从A到F(仅限大写字母)
+
因为你想要这一次或多次。 (你不能在点之前没有数字)
(
开始一个小组
\.
必须转义一个点才能进行解释。
[0-9A-F]
与之前相同
+
如果你有一个点,你必须有一些东西。
)
结束小组
?
小组(\。[0-9A-F] +)是期权。 (0或1次)