正则表达式_月隐学python第20课

与世无争的帅哥 提交于 2020-03-11 19:31:57

目录

1.为什么使⽤正则表达式

2.正则表达式的组成

3.正则常⽤⽅法

3.1  re.match()​

3.2  re.search()​

3.3  re.findall()​

3.4  re.split​

3.5  re.sub和re.subn

3.6  re.group()和re.groups()

3.7  compile

4.练习


正则表达式


正则表达式是对字符串操作的⼀种逻辑公式,就是⽤事先定义好的⼀些特定字符、及这些特定字符的组合,组成⼀个“规则字符串”,这个“规则字符串”⽤来表达对字符串的⼀种过滤逻辑。

  • 需要引⼊内置模块re
  • 缺点:效率低下,能⽤字符串⽅法完成尽量使⽤字符串的⽅法
  • 优点:编码简单

1.为什么使⽤正则表达式

使⽤场景

  • 敏感词过滤
  • ⼿机、邮箱等验证
  • 爬⾍
     

2.正则表达式的组成

  • 原⼦ 组成正则表达式的最⼩单位,任何字符都可以

  • 量词 量词能够增强原⼦的描述能⼒

  • 模式修正符

注意:

  • 模式字符串⼀定要使⽤原⽣字符串,也就是⽤r开头的字符串。 r'www'
  • 严格区分⼤⼩写
  • 如果正则表达式中有{, }, [,],-,?,*,|^,$,.等做普通字符,则要将其转义
     

3.正则常⽤⽅法

3.1  re.match()

3.2  re.search()

3.3  re.findall()

3.4  re.split

3.5  re.sub和re.subn

3.6  re.group()和re.groups()

⽤于提取⼦元素,模式中⼀个括号就是⼀个⼦元素, group和groups只能在match和search⽅法⾥使⽤,通过返回的match object获取⼦元素。在模式串和sub和subn中的替换字符串中可以使⽤\1, \2, \3....来引⽤⼦元素

3.7  compile

当我们使⽤正则表达式时, re模块会⼲两件事

1、编译正则表达式,如果正则表达式本身不合法,会报错

2、⽤编译后的正则表达式去匹配对象

编译正则表达式使⽤compile

4.练习

⽤户名匹配:由数字、⼤⼩写字⺟、下划线 _ 和中横线 - 组成,⻓度为4到14位,并且不能以数字开头。
把下划线命名(也叫蛇形命名,所有单词都是⼩写,中间通过下划线连接),转化为⼩驼峰命名法(第⼀个单词⼩写,其余所有单词⾸字⺟⼤写)。例如'go_to_next_page',转化后改写为'goToNextPage'。要求:⽤正则表达式替换
匹配邮箱
匹配⼿机号
匹配身份证号。
匹配URL地址
匹配⽇期
匹配QQ号
匹配微信号
匹配⻋牌号
 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!