正则表达式

re 模块

  1. re.match(pattern,string[,flag])
    match方法 从首字母开始匹配,如果包含pattern字符串,则匹配成功,返回match对象,失败则返回None.
    【注】只从起始位置开始匹配 ,flag表示可选项
    re.I 使匹配对大小写不敏感
    re.L 做本地化识别(locale-aware)匹配
    re.M 多行匹配,影响 ^ 和 $
    re.S 使 . 匹配包括换行在内的所有字符
    re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
    re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
    print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配
    运行结果:(0,3)
  2. re.search(pattern,string[,flag])
    search方法不一定从起始位置开始匹配
    【注】如果存在多个匹配对象,只返回第一个
  3. re.findall(pattern,string[,flag])
    返回所有匹配到的pattern,返回形式为数组
  4. re.sub(pattern,repl,string) #做替换,删除
  5. pattern = re.compile(pattern_str) # 返回一个正则表达式对象
    res = pattern.search/match/fintall() #这是另一种写法

正则表达式模式

  1. 原子
    \n:换行符
    eg:string ='''aiwejoigjweigjio
    wiegiheiug'''
    pat='\n'
    re.search(pat,string)
    结果:匹配到\n
    \w:匹配任意字母数字下划线 (非特殊字符)
    \d:匹配任意数字
    \s:匹配空格
    \W:匹配除字母数字下划线外的任意字符
    \D:匹配除数字以外的任意字符
    \S:匹配除空格外的任意字符
  2. 原子表
    eg:pat='pyth[jsz]n'
    string='aiweoijgoiepythznaoweio'
    结果:匹配到pythzn
  3. 元字符:正则表达式中具有特殊含义的字符,比如重复N次前面的字符
    .:匹配任意的字符; ^:匹配字符串的开始位置; $:匹配字符串中结束的位置; :匹配零次一次或者多次前面的原子; ?:匹配0次或1次前面的原子; +:匹配一次或多次前面的原子
    eg:pat='s
    ' string1='aowieigs' string2='awoegoss' string3='aiweogjsssssss' 则三个字符串均能匹配到依次为:s,ss,sssssss,若pat='s+'则只能匹配string2,string3,如pat='s?' 则只能匹配string1,string2
    {n}:前面的原子恰好出现n次; {n,}:至少出现n次; {m,n}:出现至少m次,至多n次; |:模式选择符 eg:t|s:表示t或者s
  4. 模式修正符:不改变正则表达式的情况下,通过模式修正符改变正则表达式的含义,从而实现匹配结果的调整
  5. 贪婪模式和懒惰模式
    eg: pat1='p.y' pat2='p.?y' string='pyaiowyiwe'
    res:pat1匹配到paiyaiowy pat2匹配到py
    6.匹配网址实例:
    pat1='[a-zA-Z]+://[^\s]*[.com|.cn]'  string='http://www.baidu.com' 【注】:[^\s]是表示匹配非空格的字符,当^放入到[]里面时,表示‘非’的意思。

python数据挖掘第一篇:正则表达式的更多相关文章

  1. Python人工智能第一篇:语音合成和语音识别

    Python人工智能第一篇:语音合成和语音识别 ​ 此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度, ...

  2. Python学习第一篇

    好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...

  3. 【Python Learning第一篇】Linux命令学习及Vim命令的使用

    学了两天,终于把基本命令学完了,掌握以后可以当半个程序员了♪(^∇^*) 此文是一篇备忘录或者查询笔记,如果哪位大佬看上了并且非常嫌弃的话,还请大佬不吝赐教,多多包涵 以下是我上课做的一些笔记,非常的 ...

  4. Python【第一篇】基础介绍

    一.本节主要内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc文件 数据类型初识 数据运算 表达式if ...else语 ...

  5. [Python笔记]第一篇:基础知识

    本篇主要内容有:什么是python.如何安装python.py解释器解释过程.字符集转换知识.传参.流程控制 初识Python 一.什么是Python Python是一种面向对象.解释型计算机程序设计 ...

  6. 【Python】第一篇:python基础_1

    本篇内容 Python介绍 安装 第一个程序(hello,world) 变量 用户输入(input) 数据类型 数据运算 if判断 break和continue的区别 while 循环 一. Pyth ...

  7. Python基础第一篇

    一.第一句python代码 1.python执行过程:1.加载内存-词法分析-语法分析-编译-执行 2.创建hello.py文件,输入内容 #!/usr/bin/env python print &q ...

  8. 【python自动化第一篇:python介绍与入门】

    一.python介绍以及发展史  1.1 python的介绍: 简单点来说吧,python这玩意儿是一个叫做Guido van Rossum的程序猿在1989年的圣诞打发时间而决心去开发的一个脚本编程 ...

  9. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环

    一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...

随机推荐

  1. 运维自动化管理服务器 CheungSSH

    CheungSSH 是一款中国人自主研发的Linux运维自动化管理服务器软件,后端使用 Python 语言+Django 的 Web 框架,前端使用 Bootstrap+Javascript+jQue ...

  2. 双十一还在盖楼?少年你应该掌握Docker 部署 Consul了

    ▶ Spring Boot 依赖与配置 Maven 依赖 <dependencyManagement> <dependencies> <dependency> &l ...

  3. 开启docker中的mongodb认证授权

    前言: 开启MongoDB服务后,默认是没有权限验证的.直接通过IP加端口就可以远程访问数据库,并对数据库进行任意操作.下面介绍一下如何开启docker中MongoDB的权限认证. 安装完MongoD ...

  4. java map遍历方式及效率

    本文转载自Java Map遍历方式的选择. 只给出遍历方式及结论.测试数据可以去原文看. 如果你使用HashMap 同时遍历key和value时,keySet与entrySet方法的性能差异取决于ke ...

  5. activemq 的延迟队列和幂等性检查

    一. 延迟消息队列 1. 在提交支付之后,可以发送一个延迟检查的队列,来主动查询用户在支付宝上的支付状态 在mq的配置/config/activeMq.xml的broker实例上配置 schedule ...

  6. linux/ubuntu下最简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)

    希望这篇文章能彻底帮你解决python opencv安装和使用中的常见问题. 懒人请直奔这一节, 一条命令安装 opencv 使用python-opencv常用的问题 在linux中使用python版 ...

  7. Algorithm: GCD、EXGCD、Inverse Element

    数论基础 数论是纯数学的一个研究分支,主要研究整数的性质.初等数论包括整除理论.同余理论.连分数理论.这一篇主要记录的是同余相关的基础知识. 取模 取模是一种运算,本质就是带余除法,运算结果就是余数. ...

  8. Mybatis精讲(二)---生命周期

    目录 回顾 SqlSessionFactoryBuilder SqlSessionFactory openSessionFromDataSource Executor SqlSession Mappe ...

  9. 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》

     论文阅读:Face Recognition: From Traditional to Deep Learning Methods  <人脸识别综述:从传统方法到深度学习>     一.引 ...

  10. 菜鸟系列Fabric源码学习—orderer服务启动

    Fabric 1.4 orderer 服务启动流程 1.提要 orderer提供broadcast和deliver两个服务接口.orderer节点与各个peer节点通过grpc连接,orderer将所 ...