day16 正则表达式作业1
"""
要求: 1.用户名只能包含数字 字母 下划线2.不能以数字开头 3.⻓度在 6 到 16 位范围内
"""
from re import fullmatch,findall,sub
re_str=r'[_a-zA-Z][0-9a-zA-Z_]{5,15}'
print(fullmatch(re_str,'abc123'))
re_str=r'[a-zA-Z][^!@#¥%^&*]{5,11}'
print(fullmatch(re_str,'T123?fejfo'))
"""
0-255分解成'[0,1]?\d?[0-9]|2[0-4]\d|25[0-5]'
0-199->'[0,1]?\d?[0-9]'
200-249->'2[0-4]\d'
250-255->'25[0-5]'
"""
re_str='(([0,1]?\d?[0-9]|2[0-4]\d|25[0-5])\.){3}([0,1]?\d?[0-9]|2[0-4]\d|25[0-5])'
print(fullmatch(re_str,'0.120.0.255'))
re_str='[0-9-.+]+'
print(findall(re_str,'-3.14good87nice19bye'))
result=findall(re_str,'-3.14good87nice19bye')
sum=0
for x in result:
sum+=float(x)
print(sum)
re_str=r'[\u4e00-\u9fa5]+'
print(fullmatch(re_str,'你好'))
re_str=r'[-+]?([0]|[1-9]\d*|0\.\d+|[1-9]\.[0-9]+)'
print(fullmatch(re_str,'-2.333'))
re_str=r'[1-9]\d{3}\-([1-9]|1[012])\-([1-9]|[12][0-9]|3[01])'
print(fullmatch(re_str,'2020-12-28'))
re_str=r'[fuck|草|sb|妈*|干*]'
str='fuck fjeorierpgefG干空儿积分看懂打开妈废热4'
print(sub(re_str,'*',str))