from re import *
1. 写一个正则表达式判断一个字符串是否是ip地址
规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小是0-255
255.189.10.37 正确
256.189.89.9 错误
result = fullmatch(r'((1?\d?\d|2[0-4]\d|25[0-5])\.){3}(1?\d?\d|2[0-4]\d|25[0-5])', '254.189.89.9')
if result:
print('正确')
else:
print('错误')
2. 计算一个字符串中所有的数字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5
str1 = '.10hello90abc -78sjh12.5da8ad'
result = findall(r'-?\d+.?\d+|\d', str1)
sum_result: float = 0
for item in result:
sum_result += float(item)
3. 验证输入的内容只能是汉字
str_unknow = input('随便输入:')
if fullmatch(r'[\u4e00-\u9fa5]+', str_unknow):
print('纯汉字')
else:
print('歪果仁')
4. 电话号码的验证
call = input('输入电话号码:')
if fullmatch(r'1[3-9]\d{9}', call):
print('yes')
else:
print('no')