2019-08-13

作业

from re import *

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

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

255.189.10.37 正确

256.189.89.9 错误

re_str = r'((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)){3}' \
         r'((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9]))'

print(fullmatch(re_str, '25.188.255.158'))  # <re.Match object; span=(0, 14), match='25.188.255.158'>
print()

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

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

re_str = r'\d+\.\d|\d+'
result = findall(re_str, 'hello90abc 78sjh12.5')
num = 0
for x in result:
    num += float(x)  # 180.5
print(num)

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

re_str = r'\b[\u4E00-\u9FA5][\u4E00-\u9FA5]\b'
print(search(re_str, '你好'))  # <re.Match object; span=(0, 2), match='你好'>

4.电话号码的验证

re_str = r'1[3-9]\d{9}'
print(search(re_str, '14798587888'))  # <re.Match object; span=(0, 11), match='14798587888'>

5.验证输入用户名和QQ号是否有效并给出对应的提示信息

要求:

用户名必须由字母、数字或下划线构成且长度在6~20个字符之间

QQ号是5~12的数字且首位不能为0

def user():
    re_user = r'[a-zA-Z_]{6,20}'
    user_num = input("请输入用户名:")
    result = search(re_user, user_num)
    if result == None:
        print("用户名错误")
    else:
        return 1


user()  # 请输入用户名:+45111512  # 用户名错误


def pass_word():
    re_pass = r'[1-9]\d{4,11}'
    user_pass = input("请输入用户名:")
    result = search(re_pass, user_pass)
    if result == None:
        print("密码错误")
    else:
        print("登录成功")


def main():
    num_1 = user()
    if num_1 == 1:
        pass_word()


if __name__ == '__main__':

    main()

6.拆分长字符串:将一首诗的中的每一句话分别取出来

poem = '窗前明月光,疑是地上霜。举头望明月,低头思故乡。'

poem = '窗前明月光,疑是地上霜。举头望明月,低头思故乡。'
result = split(r'。', poem)
for x in result:
    m = split(r',', x)
    for i in m:
        print(*i)

# 窗 前 明 月 光
# 疑 是 地 上 霜
# 举 头 望 明 月
# 低 头 思 故 乡
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小...
    容荔阅读 149评论 0 0
  • 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小...
    浩子_唯一号阅读 168评论 0 1
  • from re import * 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每...
    棠球球阅读 238评论 0 1
  • 写一个正则表达式判断一个字符串是否是ip地址规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小...
    HuangXiongjin阅读 177评论 0 0
  • 《打招呼》 每天清晨,我骑车上班,时间还早,行人并不是很多。路过一个街口,有个老人总是坐在那里,手里摇着蒲扇,好像...
    wy颖阅读 278评论 0 0