zoukankan      html  css  js  c++  java
  • re模块(正则表达式)

    re 模块:正则表达式
    import re

    内置模块:

    1> re.match(pattern,string)

    pattern:就是正则表达式 string:被操作的对象

    match,search 的区别
    match 在满足正则表达式时,匹配字符串的开头,要是开头不满足条件就返回一个NONE
    result1= re.match('d+','123adffdjf23423')
    result1是一个对象,需要用group方法打印出来
    print result1.group()
    result2 = re.search('d+','dfad2342')
    search 是全文匹配,匹配到一个后就不往下进行了。

    result3 =re.findall('d+','jfadlskfj333jfalkdjf5555')
    findall 比search 匹配的更加的全面,时所有的都匹配,一直匹配下去,直到没有匹配的

    生成的pyc是为了更快的调用

    com = re.compile('d+')
    print type(com)
    com 是一个对象,对象里有一个findall函数
    print com.findall('hfdakj3323jkl23jlk32jl23kj32l')
    compile 支持match,search,findall相当于就是re
    这个compile的相对findall的好处在哪?
    比如说我们现在遍历一个日志,我们现在使用findall的方式我们需要先编译正则表达式,然后去匹配,这里我们有一百行数据的时候,我们就需要编译一百次,然后匹配一百次,但是compile的好处就在,我们只需要编译一次,然后匹配一百次就行了,就省下了99次的编译。效率更加的高。这个就和那个pyc结尾的文件作用差不多了

    这里我们只能一次匹配一个字符串,后面不能跟多个字符串参数

    下面说一个groups,这个groups只和正则表达式的分组有关
    比如说现在下面有个一个
    result4=re.search('(d+)w*(d+)','123hhh3h3hkkk1kk1')
    print result4.group()
    print result4.groups() 这个只匹配正则表达式组的对应值,也就是说只匹配第一个的(d+)和最后一个(d+),正则表达式的分组用()表示


    ++++++++++++++++++++++++++++++++++++++++++++++++

    time 模块

    时间之间的运算
    三种表达方式:
    时间戳 time.time()
    元祖
    格式化的字符串 time.gmtime() time.strftime('%Y-%m-$d ')

    三种形式的表达方式可以相互转换

    time.strptime()
    time.localtime() 结构化的时间
    字符串转时间戳
  • 相关阅读:
    构造函数、原型、实例化对象
    JS闭包的理解
    JQuery知识点
    面向对象
    学习使用Vuex
    Runtime详解
    ffmpeg各结构体之间关联 ---- AVPacket
    AVFrame
    block的底层原理
    performSelector
  • 原文地址:https://www.cnblogs.com/smail-bao/p/5727974.html
Copyright © 2011-2022 走看看