正则表达式

正则表达式30分钟入门教程
runoob正则式教程
正则表达式练习题集(附答案)

  • 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行

    • 例子:\bhi\b可以用来匹配hi这个单词,且不会匹配到him,china或sushi.
    • 注意\b并不匹配任何字符,它只匹配一个位置
  • 元字符.代表除了换行符以外的任意字符
  • 元字符*代表数量:它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
    • 另一个指代数量的方式是:{n},这里的n可以填入任何数字,代表前面内容的重复次数,比如两个数字:\d{2}
  • 更多的元字符
  • 使用分枝条件|时,要注意各个条件的顺序,因为匹配分枝条件时,算法将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。

一张图速记正则式

Python中的正则库(re)

re库文档
一些re库的用例

  • 使用match函数来进行正则匹配:re.match(正则式, 要匹配的字符串)
  • 如果匹配成功,match函数将返回一个SRE_Match对象,该对象包含两个方法:
    • group()方法可以输出匹配到的内容
    • span()方法可以输出匹配到的内容在原字符串中的位置范围
  • 使用()可以在匹配到的内容中进一步提取想要的字符串,这些子表达式可通过group(索引)来获得
  • 注意match()方法是从前往后匹配的,如果开头不一致,就得不到匹配结果
  • search()方法在匹配时会扫描整个字符串,所以更适合用来做搜索
  • match和search方法都可以传入第三个参数——修饰符
    • 修饰符re.I:使匹配对大小写不敏感
    • 修饰符re.S:使.(通配符)匹配包括换行符在内的所有字符,这个修饰符在匹配HTML文本时非常常用
  • findall()方法能匹配到符合要求的所有内容,而search()只匹配符合要求的第一个内容
    • findall()的返回结果为列表
  • sub()方法可以用来修改匹配内容:re.sub('匹配内容','替换内容’,目标字符串)
  • compile()方法可以用来封装正则式和修饰符

【归纳】正则表达式及Python中的正则库的更多相关文章

  1. 正则表达式与Python中re模块的使用

    正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...

  2. Python中的正则

    regex_lst = [ ('字符组',), ('非打印字符',), ('特殊字符',), ('定位符',), ('限定符',), ('re模块',), ('分组命名',), ('或匹配',), ( ...

  3. js中正则表达式与Python中正则表达式的区别

    今天女票让我帮她写一个js中的正则,来提取电话号码,对于正则规则来说,js与python是基本没有区别的,重点的区别是在一些函数与方法中. python中的正则提取: import re str = ...

  4. 利用Python中的mock库对Python代码进行模拟测试

    这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下     ...

  5. Python中使用第三方库xlrd来写入Excel文件示例

    Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...

  6. 常用正则表达式与python中的re模块

    正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划 ...

  7. 正则表达式在python中的简单使用

    正则表达式独立与编程语言,基本上所有的编程语言都实现了正则表达式的相关操作.在Python中正则表达式的表现为re模块: import re 其操作有三个方法: my_string = "h ...

  8. 【转】利用Python中的mock库对Python代码进行模拟测试

    出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...

  9. 正则表达式与python中re模块

    一个网站,正则表达式入门的,很好 http://www.jb51.net/tools/zhengze.html 下面这个包含对python中re的介绍,也是很不错的http://www.w3cscho ...

随机推荐

  1. python 获取秒级时间间隔

    import datetime,time start_tm=datetime.datetime.now() time.sleep() end_tm=datetime.datetime.now() pr ...

  2. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  3. [Oracle维护工程师手记]Data Guard Broker中改属性是否需要两侧分别执行?

    Data Guard Broker中改属性是否需要两侧分别执行? Data Guard Broker有一些属性,可以通过 show configuration 看到.我有时会想,这些个属性,是否是分别 ...

  4. 这段代码,c 1秒,java 9秒,c# 14秒,而python。。。

    哎,不得不说最近见得键盘侠客太多了,做程序员没两天总是喜欢上嘴唇触天,下嘴唇碰地的吹. 自己分明都没用过几门语言,就对各门语言评头论足说三道四,这么语言多好那门语言有多烂. 可能是随着时间也变得没那么 ...

  5. linux 下一些命令

    1. 后台执行命令 nohup  http://blog.csdn.net/liuyanfeier/article/details/62422742 2. 查看日志文件 格式:tailf logfil ...

  6. Kubernetes — 控制器

    Pod 这个看似复杂的 API 对象,实际上就是对容器的进一步抽象和封装而已. 说得更形象些,“容器”镜像虽然好用,但是容器这样一个“沙盒”的概念,对于描述应用来说, 还是太过简单了. 这就好比,集装 ...

  7. RBAC权限管理模型 产品经理 设计

    RBAC权限管理模型:基本模型及角色模型解析及举例 | 人人都是产品经理http://www.woshipm.com/pd/440765.html RBAC权限管理 - PainsOnline的专栏 ...

  8. Linux -- 项目部署

    一 . 负载均衡 负载均衡其实就是把其中一个服务器用做反向代理, 然后通过访问这个服务器实现负载均衡. 1.准备三台虚拟机 192.168.81.130 192.168.81.131 192.168. ...

  9. debugfs

    http://www.cnblogs.com/wwang/archive/2011/01/17/1937609.html

  10. Python——控件事件

    鼠标 键盘 窗口 按钮