一、代码题
以下所有题都需加入下面这句代码
from re import *
1. 写一个正则表达式判断一个字符串是否是ip地址
规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小是0-255
255.189.10.37 正确
256.189.89.9 错误
print(fullmatch(r'(\d|\d\d|1\d\d|2[0-4][0-9]|25[0-5])\.(\d|\d\d|1\d\d|2[0-4][0-9]|25[0-5])\.(\d|\d\d|1\d\d|2[0-4][0-9]|25[0-5])\.(\d|\d\d|1\d\d|2[0-4][0-9]|25[0-5])', '255.189.239.37'))
2. 计算一个字符串中所有的数字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5
num_list = findall(r'\d+[.]?\d+', 'hello90abc 78sjh12.5')
sum1 = 0
for num in num_list:
sum1 += float(num)
print(sum1)
3. 验证输入的内容只能是汉字
text = input('请输入:')
for char in text:
if not fullmatch(r'[\u4e00-\u9fa5]', char):
print('输入内容有不是汉字的字符')
break
else:
print('符合内容只能是汉字的要求')
4. 电话号码的验证
while True:
tel = input('请输入电话号码:')
if fullmatch(r'1[3-57-9]\d{9}', tel):
print('符合要求的电话号码。输入q退出!')
else:
print('请输入正确的电话号码!输入q退出!')
if tel == 'q':
break