1、写一个正则表达式判断一个字符串是否是ip地址
规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小是0-255
255.189.10.37 正确
256.189.89.9 错误
import re
is_ip = input('请输入一个字符串:')
result = re.fullmatch(r'((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)', is_ip)
if result:
print('字符串是一个ip地址')
else:
print('字符串不是一个ip地址')
2、计算一个字符串中所有的数字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5
import re
str1 = 'hello90abc 78sjh12.5sdf23.44'
result = re.findall(r'[0-9.]+', str1)
sum1 = 0
for num in result:
sum1 += float(num)
print(sum1)
3、验证输入的内容只能是汉字
import re
str1 = input('请输入一个字符串:')
result = re.findall(r'.+', str1)
for i in result[0]:
if '\u4e00' <= i <= '\u9fa5':
continue
else:
print('False')
break
else:
print('True')
"""---------------------------------------------"""
import re
str1 = input('请输入一个字符串:')
result = re.fullmatch(r'[\u4e00-\u9fa5]+', str1)
if result:
print('True')
else:
print('False')
4、电话号码的验证
import re
tel = input('请输入一个电话号码:')
result = re.fullmatch(r'1[3-9]\d{9}', tel)
if result:
print('True')
else:
print('False')
5、验证输入用户名和QQ号是否有效并给出对应的提示信息
要求:
用户名必须由字母、数字或下划线构成且长度在6~20个字符之间
QQ号是5~12的数字且首位不能为0
import re
username = input('请输入用户名:')
QQ_number = input('请输入QQ号:')
if 6 <= len(username) <= 20:
result_u = re.fullmatch(r'[a-zA-Z0-9_]+', username)
if result_u:
print('用户名有效')
else:
print('用户名无效')
else:
print('用户名无效')
if 5 <= len(QQ_number) <= 12:
result_p = re.fullmatch(r'[1-9]+', QQ_number)
if result_p:
print('QQ号有效')
else:
print('QQ号无效')
else:
print('QQ号无效')
6、拆分长字符串:将一首诗的中的每一句话分别取出来
poem = '窗前明月光,疑是地上霜。举头望明月,低头思故乡。'
import re
result = re.split(r'\W+', '窗前明月光,疑是地上霜。举头望明月,低头思故乡。')
for i in result:
print(i)