码迷,mamicode.com
首页 > 其他好文 > 详细

re正则模块

时间:2019-06-12 18:18:55      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:特殊   报错   没有   find   转义   搜索   功能   表示   操作   

一. 正则表达式

正则表达式是对字符串操作的?种逻辑公式. 我们?般使?正则表达式对字符串进行匹配和过滤.

使?正则的优缺点:

 优点: 灵活, 功能性强, 逻辑性强.

 缺点: 上?难. ?旦上手, 会爱上这个东?

工具: 各?大?本编辑器?般都有正则匹配功能. 我们也可以去http://tool.chinaz.com/regex/进行在线测试.

正则表达式由普通字符和元字符组成

普通字符:包括大小写字母,数字,在匹配普通字符的时候直接写就可以

元字符:元字符才是正则表达式的灵魂,下面介绍几种主要的.

  1. 字符组--[]  
  2. 简单元字符

. 匹配除换?符以外的任意字符

\w 匹配字母或数字或下划线

\s 匹配任意的空白符

\d 匹配数字

\n 匹配?个换?符

\t 匹配?个制表符

\b 匹配?个单词的结尾

^ 匹配字符串的开始

$ 匹配字符串的结尾

\W 匹配?字?母或数字或下划线

\D 匹配?数字

\S 匹配?空?符

a|b 匹配字符a或字符b

() 匹配括号内的表达式,也表示一个组

[...] 匹配字符组中的字符

[^...] 匹配除了了字符组中字符的所有字符

  1. 量词

* 重复零次或更多次

+ 重复?次或更多次

? 重复零次或?次

{n} 重复n

{n,} 重复n次或更多次

{n,m} 重复nm

  1. 惰性匹配和贪婪匹配

4.1 在量词中的*, +,{} 都属于贪婪匹配. 就是尽可能多的匹配到结果.

4.2 在使用.*后?面如果加了? 则是尽可能的少匹配. 表?示惰性匹配

4.3 .*?x的特殊含义 找到下?个x为?(重点)

  1. 分组  在正则中使用()进行分组
  2. 转义 比如r’\n’

 

 

.re模块

re模块是python提供的?套关于处理正则表达式的模块.

核心功能有四个:

  1. Findall  查找所有返回list

 

  1. finditer findall差不多,但是返回的是迭代器
  2. search 搜索  一旦匹配到结果直接返回,匹配不到结果,返回None
  3. match 匹配  从头开始匹配,开头没有匹配到就报错

re正则模块

标签:特殊   报错   没有   find   转义   搜索   功能   表示   操作   

原文地址:https://www.cnblogs.com/l1222514/p/11011009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!