2019-05-08_day_17_正则表达式作业

1

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

import re
re_str = r"(25[0-9]\.|2[0-4][0-9]\.|[0-1]?[0-9]?[0-9]?\.){3}(25[0-9]|2[0-4][0-9]|[0-1]?[0-9]?[0-9]?)"
while True:
    ip_str = input("ip:")
    if re.fullmatch(re_str, ip_str):
        print("正确")
    else:
        print("错误")

ip:255.189.10.37
正确
ip:256.189.89.9
错误

2

计算一个字符串中所有的数字的和
例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5

import re
num_str ="hello90abc 78sjh12.5"
def str_sum(num_str:str):
    res_sum = 0
    re_str = r"(\d+\.\d+)|(\d+)"
    res = re.findall(re_str, num_str)
    for i in res:
        if i[0]:
            res_sum += float(i[0])
        if i[1]:
            res_sum += float(i[1])
    return res_sum
print(str_sum(num_str))

180.5

3

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

import re
def judge(judge_str:str):
    re_str = r"[\u4e00-\u9fa5]+"
    res = re.fullmatch(re_str,judge_str)
    if res:
        return "right"
    else:
        return "wrong"
while True:
    judge_str = input(">>")
    print(judge(judge_str))

wrong
123
wrong
你好123
wrong
你好
right

4

电话号码的验证

import re
def tel(tel_nums:str):
    res_str = r"1[3578][0-9]{9}"
    res = re.fullmatch(res_str,tel_nums)
    if res:
        return "right"
    else:
        return "wrong"

while True:
    phone = input(":")
    print(tel(phone))

:138123456789
wrong
:13812345678
right
:15312345678
right

选择题

1

  1. 能够完全匹配字符串“(010)-62661617”和字符串“01062661617”的正则表达式包括( )
    A. “(?\d{3})?-?\d{8}”
    B. “[0-9()-]+”
    C. “[0-9(-)]\d
    D. “[(]?\d[)-]\d*”

答案

ABD
C:“-”取不到,原因:在两个字符中间

2

  1. 能够完全匹配字符串“c:\rapidminer\lib\plugs”的正则表达式包括( )
    A. “c:\rapidminer\lib\plugs”
    B. “c:\rapidminer\lib\plugs”
    C. “(?i)C:\RapidMiner\Lib\Plugs” ?i:将后面的内容的大写变成小写
    D. “(?s)C:\RapidMiner\Lib\Plugs” ?s:单行匹配
    转义字符匹配不会!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式 正则表达式是用来匹配或者描述字符串的工具。 用处:a.判断输入的字符串是否是邮箱或者手机号。是否是IP...
    莫名ypc阅读 1,295评论 0 0
  • 一、正则表达式语法 正则表达式是用匹配或者描述字符串的工具。 用处:a.判断字符串是否满足某个条件---判断输入的...
    魅影_0d2e阅读 607评论 0 0
  • 一、正则表达式语法 正则表达式是用来匹配或者描述字符串的工具。 用处:a.判断字符串是否满足某个条件 --> 判断...
    xdxh阅读 578评论 0 0
  • 一、正则表达式语法 正则表达式是用匹配或者描述字符串的工具。用处:a.判断字符串是否满足某个条件---判断输入的字...
    Sakura_flower阅读 878评论 0 3
  • 最近由于工作原因,需要自己实现一个类似队列的数据结构,所以想写篇文章记录并总结下队列的相关内容,主要有以下4点: ...
    songleo阅读 1,271评论 0 3