• Python正则表达式学习记录


    常用的命令: http://www.runoob.com/python/python-reg-expressions.html

    使用中相关注意问题:

    1. 中括号里的表示从N到M需要用横线‘-’, 而大括号里表示从N-M需要用逗号‘,’,如:

    【0-9】:表示匹配0-9之间的数字

    【0-9】{3,8}:表示匹配3到8个0-9之间的数字

    2. 一些字符符号,被中括号包含的时候,就表示匹配相同的字符符号,如

    r = r'.', 这个正则表达式匹配的是任意一个字符,包含数字,字母,字符

    r1 = r'[.]' 这个正则表达式匹配的是一个点‘.’

     

    实例:编写一个验证email地址的正则表达式

    # _*_ coding:utf-8_*_
    import re # 导入Python正则表达式模块


    class IsValidEmail:
    def is_valid_email(self, addr):
    '''
    定义正字表达式
    ^:以。。开头
    [a-zA-Z0-9]:包含一个字符或者数字
    [a-zA-Z0-9_.]+:包含至少一个字符或者一个数字或者下划线或者点号'.'的字符串
    {n}表示前面定义的字符的长度,包括n个
    :param addr:需要验证的address
    :return: 合法返回True,否则返回False
    '''
    r = r'(^[a-zA-Z0-9][a-zA-Z0-9_.]+([a-zA-Z0-9])@[a-zA-Z0-9]+(.[a-zA-Z]{3})$)'
    try:
    if re.match(r, addr):
    print('address: %s is ok' % addr)
    return True
    else:
    print('address: %s is not valid' % addr)
    return False
    except ValueError:
    print('please input a email address')


    if __name__ == '__main__':
    d = IsValidEmail()
    assert(d.is_valid_email('sss@163.com'))
    assert(d.is_valid_email('someone@gmail.com'))
    assert(d.is_valid_email('bill.gates@microsoft.com'))
    assert not(d.is_valid_email('bob#example.com'))
    assert not(d.is_valid_email('mr-bob@example.com'))
    assert not(d.is_valid_email('sandytest@@163.com'))





  • 相关阅读:
    分类与监督学习,朴素贝叶斯分类算法
    K-means算法应用:图片压缩
    聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用
    numpy统计分布显示
    10.11作业numpy数据集练习
    9.29作业
    CAGradientlayer设置视图背景的渐变效果
    dyld: Library not loaded: @rpath/libswiftCore.dylib
    解读NSString之性能分析
    iOS UIButton超出父视图无法点击解决方法
  • 原文地址:https://www.cnblogs.com/xiaohai2003ly/p/8664881.html
Copyright © 2020-2023  润新知