要编写一个正则表达式来验证整数和小数,可以使用以下代码示例:
import re
def validate_number(number):
pattern = r'^-?\d+(\.\d+)?$' # 正则表达式模式
if re.match(pattern, number):
return True
else:
return False
# 测试
print(validate_number("123")) # True
print(validate_number("-456")) # True
print(validate_number("789.01")) # True
print(validate_number("-0.123")) # True
print(validate_number("12.34.56")) # False
print(validate_number("abc")) # False
这个代码示例中,我们定义了一个validate_number
函数,它接受一个数字作为参数,并使用正则表达式模式进行验证。模式^-?\d+(\.\d+)?$
用于匹配以下格式的数值:
-
)开头,也可能没有负号\d+
)\.\d+
)(\.\d+)?
)re.match(pattern, string)
函数用于检查给定的数字是否与模式匹配。如果匹配成功,则返回True
,否则返回False
。
在测试中,我们分别使用了一些示例数字来验证validate_number
函数的正确性。结果会打印在控制台上。
请注意,这个正则表达式模式只能验证数字的格式是否正确,不能验证其大小范围。如果你需要验证数字的大小范围,你可能需要使用其他的验证方法。