zoukankan      html  css  js  c++  java
  • day19——常用正则表达式、re正则对象和正则匹配效率比较、编译正则对象

    正则网站:regex101.com
        在了解re模块之前,我们可以先了解一下正则表达式,正则表达式在很多语言中都有使用,但是不同的语言直接又有有些细小的区别,下面我们就来列举一下在python语言中常用的一些正则表达式:
     
    re模块
        re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,以便使用正则对象的方法。那为什么要使用re模块来把正则表达式搞成正则对象呢,最主要的是可以提高代码的执行效率,我们来看个例子:
     
    1 import timeit
    2 print timeit.timeit(setup='''import re; reg = re.compile('<(?P<tagname>w*)>.*</(?P=tagname)>')''', stmt='''reg.match('<h1>xxx</h1>')''', number=1000000)
    3 print timeit.timeit(setup='''import re''', stmt='''re.match('<(?P<tagname>w*)>.*</(?P=tagname)>', '<h1>xxx</h1>')''', number=1000000)
    打印结果为:
    #1.正则匹配是,优先编译成正则对象,然后再进行匹配,这样程序的效率更高
     
    编译正则对象
        正则匹配总写一个r是什么意思?
        r表示raw的简及raw string 意思是原生字符,也就是说是这个字符串中间的特殊字符不用转义
        比如你要表示‘ ’,可以这样:r' '
        但是如果你不用原生字符 而是用字符串你得这样:‘\n’
     
    1 import re
    2 reg = re.compile(r'abc.*')
    3 print(type(reg))
    4 print(reg)
    打印结果为:
     
  • 相关阅读:
    当Table中td内容为空时,让它显示边框的办法
    超链接可以是JS代码
    学习Filter
    关于SQL语句的拼接问题
    复习JSP时遇到的几个问题
    凡是项目中的增删改都要加事务
    Xshell和SecureCRT连不上VMware虚拟机linux系统
    IBM AIX定义数组变量
    Python模块之re 正则表达式
    Python模块之itertools 用于创建和使用迭代器的函数工具
  • 原文地址:https://www.cnblogs.com/yangjinbiao/p/7841414.html
Copyright © 2011-2022 走看看