2018-11-27 Day17-homework

1.写一个正则表达式判断一个字符串是否是ip地址

规则:一个ip地址由4个数字组成,每个数字之间用.连接。
每个数字的大小是0-255
255.189.10.37 正确
256.189.89.9 错误

import re


re_str = r'(([0-1]?[0-9]?[0-9]?|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-1]?[0-9]?[0-9]?|[2][0-4][0-9]|[2][5][0-5])'
str1 = input('请输入正确IP地址:')
print(re.fullmatch(re_str, str1))

2. 计算一个字符串中所有的数字的和

例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5

import re
str2 = r'hello90abc 78sjh12.5'
result = re.findall('\d{2}\.?\d?', str2)
sum1 = 0
print(result)
for x in result:
    sum1 += float(x)
print(sum1)

3. 验证输入的内容只能是汉字

import re

re_str = '[\u4e00-\u9fa5]+'
str1 = input('请输入汉字:')
result = re.fullmatch(re_str, str1)
print(result)
if not result == None:
    print('输入的是汉字!')
else:
    print('输入错误,请输入汉字')

4. 电话号码的验证

import re
re_str = r'^1(3|4|5|7|8)\d{9}$'
str1 = input('请输入电话号码:')
re_obj = re.compile(re_str)
result = re_obj.fullmatch(str1)
if result == None:
    print('输入有误!')
else:
    print('正确!')

5. 简单的身份证号的验证

import re
re_str = '^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|' \
         '^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$'
str1 = input('请输入身份证号码:')
result = re.fullmatch(re_str, str1)
if result == None:
    print('输入错误!')
else:
    print('输入正确!')

选择题:

  1. ABD 2.BC 3.ABCD 4.ACD 5.BC

你可能感兴趣的:(2018-11-27 Day17-homework)