我正在使用[+-]?[0-9] *。[0-9] {1,}这个简单的正则表达式来检测简单的浮点数。它工作正常,但正在检测到4.0O0作为浮点数。谁能解释我为什么? 我正在使用python进行操作,代码如下:
pattern=r'[+-]?[0-9]*\.[0-9]{1,}'
input_float=input().strip()
if re.match(pattern,input_float):
print("True")
else:
print("False")
答案 0 :(得分:1)
re.match
仅在字符串开头而不是字符串结尾匹配给定的正则表达式。使用re.fullmatch
可以将整个字符串与给定的正则表达式匹配。
if re.fullmatch(pattern,input_float):