zoukankan      html  css  js  c++  java
  • 正则的基本习题

    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())
     
  • 相关阅读:
    HTTP 返回状态代码详细解释
    丁一的作业
    getIntent().getExtras().clear()未清空Bundle的数据
    activity android:launchMode="singleTask" 没用重现启动activity的问题
    判断email格式
    判断网络是否可用
    修改系统语言
    生成UUID
    css reset file
    智能指针(auto_ptr)vc版
  • 原文地址:https://www.cnblogs.com/wutanghua/p/11393931.html
Copyright © 2011-2022 走看看