• 常用模块 2018-4-9


    re模块

      re模块:     

                什么是正则:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。

         (在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行

    re模块的通常用法:

     

     

     

    重复匹配:
      . ? * + {m,n} .* .*?
      1、.:代表除了换行符外的任意一个字符
      print(re.findall('a.c','abc a1c aAc aaaaaca c',re.DOTALL))
      2、?:代表左边那一个字符重复0次或1次
      print(re.findall('ab?','a ab abb abbb abbbb abbbb'))
      3、*:代表左边那一个字符出现0次或无穷次
      print(re.findall('ab*','a ab abb abbb abbbb abbbb a1bbbbbbb'))
      4、+ :代表左边那一个字符出现1次或无穷次
      print(re.findall('ab+','a ab abb abbb abbbb abbbb a1bbbbbbb'))
      5、{m,n}:代表左边那一个字符出现m次到n次
      print(re.findall('ab?','a ab abb abbb abbbb abbbb'))
      6、.*:匹配任意长度,任意的字符=====》贪婪匹配
      print(re.findall('a.*c','ac a123c aaaac a *123)()c asdfasfdsadf'))
      7、.*?:非贪婪匹配
      print(re.findall('a.*?c','a123c456c'))
      ():分组
      []:匹配一个指定范围内的字符(这一个字符来自于括号内定义的)
      []内的^代表取反的意思
      | :或者

      (?:):代表取匹配成功的所有内容,而不仅仅只是括号内的内容
      re 模块的其他用法
    re.search 扫描整个字符串并返回第一个成功的匹配。

      re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

     

  • 相关阅读:
    数据库连接池
    批量插入数据库数据,有则更新,无则追加
    初识gensim
    Python pip install之SSL异常处理
    使用Fiddler和夜神浏览器对搜狐推荐新闻的抓取
    使用Fiddler抓取夜神模拟器上的包
    教你如何用GatherProxy,自己找SOCKS代理
    logging.Formatter 日期格式
    由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。
    beautifulsoup的简单使用
  • 原文地址:https://www.cnblogs.com/tianyu529/p/8761940.html
Copyright © 2020-2023  润新知