• 正则的基本习题


    Python正则表达式篇课后习题
    1-1. 识别下列字符串:“bat,” “bit,” “but,” “hat,” “hit,” 或 “hut”
    import  re
    data = 'bat bit btt a ta tib atb but hat hit hut'
    patt = '[bh][aiu]t'
    m = re.findall(patt,data)
    print(m)
     
    1-2.匹配用一个空格分隔的任意一对单词,比如,名和姓
    import  re
    data = '3432@#zhou yaping zhou ge'
    patt = '([A-Za-z]+s?)+'
    m = re.search(patt,data)
    print(m.group())
     
     
    1-3. 匹配用一个逗号和一个空格分开的一个单词和一个字母。例如,英文人名中的姓和名 的首字母
    import  re
    data = 'ZHOU ge,wang san,Li SI'
    patt = ',|s'
    m = re.split(patt,data)
    print(m)
     
     
    1-4. 匹配所有合法的Python标识符
    import  re
    data = 'a asd _da 32sda jjij221_'
    patt = '[_A-Za-z]+[_w]+'
    m = re.findall(patt,data)
    print(m)
     
     
    1-5.请根据您(读者)本地关于地址的格式写法匹配一个街道地址(你写出的正则表达式要 尽可能通用以匹配任意数目的表示街道名字的单词,包括类型指示)。比如,美国的街道地址使用这 样的格式:1180 Bordeaux
    Drive.使你写的正则表达式尽可能通用,要求能够匹配多个单词的街道 名字,如:3120 De la Cruz Boulevard.
     
    import  re
    data = '1180 Bordeaux Drive Crus De la'
    patt = 'd{4}s([A-Za-z]+s?)+'
    m = re.match(patt, data)
    print(m.group())
     
     
    1-6.匹配简单的以“http/https/www.”开头,以“.com”作结尾的Web域名,例如:www.yahoo.com.
     
    import  re
    data = 'http://www.foothill.edu'
    patt = r'(www:|http:|https:)//www.w+(.com|.edu|.net)/?'
    m = re.match(patt,data)
    print(m.group())
     
     
    1-7.匹配全体Python整数的字符串表示形式的集合
    import  re
    data = '231312 asad 234234 212.32'
    patt = 'd+'
    m = re.findall(patt,data)
    print(m)
     
     
     
    1-8.Python3已经把int和long合并了,没有123L这种表示法了
    import  re
    data = '231312 asad 234234 212.32'
    patt = 'd+'
    m = re.findall(patt,data)
    print(m)
     
     
    1-9.匹配全体Python浮点数的字符串表示形式的集合
    import  re
    data = '23123.44 0.2131'
    patt = 'd+.d+'
    m = re.findall(patt,data)
    print(m)
     
    
     
    1-10(扩展) 匹配所有能够表示 Python 复数的字符串集。使用match()方法。
    import  re
    data = '6.34+7.89J'
    patt = 'd*(.d*)?[+-]?d*(.d*)?[Jj]?'
    m = re.match(patt,data)
    print(m.group())
    data = '98j'
    m = re.match(patt,data)
    print(m.group())
    print(type(m))
     
     
     
    1-11(扩展)匹配所有能够表示有效电子邮件地址的集合(从一个宽松的正则表达式开始,然后尝试使它尽可能严谨,不过要保持正确的功能)。
    import  re
    data = 'qqd1231312-dqd@wqd.com'
    patt = r'[A-Za-z]+([-.]?w+)+@((w+-?w*)+.)+w{2,3}'
    m = re.match(patt, data)
    if m is not None:
        print(m.group())
     
  • 相关阅读:
    c++错误:不允许使用抽象类类型 "Employee" 的对象
    C++ error C2027:使用了未定义类型 类的调用顺序
    PyCharm 2020.1 激活教程
    mysql组内排序
    XGBoost
    React学习——Hello, React
    Lambda表达式
    plsql链接远程oracle服务器,以及常用配置
    静态网站 H5 跳小程序 (短信跳小程序)
    更新(D-U-N-S)邓白氏码公司信息(注册勿看)
  • 原文地址:https://www.cnblogs.com/wutanghua/p/11393931.html
Copyright © 2020-2023  润新知