float_number = str(input(
"
Please input the number:
"
))
value
= re.compile(r
'
^[-+]?[0-9]+\.[0-9]+$
'
)
#
定义正则表达式
result =
value.match(float_number)
if
result:
print
"
Number is a float.
"
else
:
print
"
Number is not a float.
"
^[-+]?[0-9]+\.[0-9]+$
^表示以后面这个字符开头,也就是以[-+]开头,[-+]表示字符-或者+之一,?表示0个或1个,也就是说符号-和+是可选的。
[0-9]表示0到9的一个数字,+表示1个或多个,也就是整数部分一个或多个数字。
\.表示的是小数点,\是转义字符因为.是特殊符号,所以需要转义。
小数部分同理,$表示字符串以前面的字符结尾,即小数部分一个或多个数字,并以数字结尾。