zoukankan      html  css  js  c++  java
  • 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'))





  • 相关阅读:
    Java 在线/离线 文档
    Java集合框架全解
    【LeetCode】204.计数质数
    深入SpringMvc
    SpringMvc基础
    SSM整合
    Spring注解
    SpringAop编程
    2路插入排序
    Matplotlib绘图库简要介绍
  • 原文地址:https://www.cnblogs.com/xiaohai2003ly/p/8664881.html
Copyright © 2011-2022 走看看