码迷,mamicode.com
首页 > 编程语言 > 详细

35 Python - 正则表达式 综合应用

时间:2019-07-10 18:18:06      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:图片   需要   表达   名称   引用   最大数   调用   简单   spi   

综合应用

001字符串切割

 技术图片

 

分隔符切割字符串

 技术图片

 

非字母形式切割

 技术图片

 

减号切割

减号切割且把减号包括在结果里面

 技术图片

 

Spile的另外一个参数,maxsplit表示拆分的最大数量

maxsplit=2表示保留两个切割结果,其余的作为一个整体

maxsplit=1表示只保留一个

 技术图片

 

 

002字符串替换sub

 技术图片

 

如果用模式编译方式,就是三个参数

如果不用模式编译方式,用re的话需要4个参数,repl前面多一个模式

Repl前面参数:第一个参数定义模式

Repl表示替换以后的结果内容是什么

String表示在哪个地方进行替换

Count表示在哪里替换

补充:参考sub的其他笔记,如下图

 技术图片

 

为了简单例子用了re调用,即不用模式编译方式,完整的应该是4个参数

例子1:把数字替换成减号

 技术图片

 

 

例子2:应用到了编组的另外一种应用:表现内技术图片

 

例子需求为:把*better*替换为<strong>better</strong>

方式1:没有用表现内方式,结果为把better丢失

 技术图片

 

方式2:使用了表现内方式,把原来内容保留下来把better保留下来了

其中r表示非转义

(.*?)表示任意多个字符且非贪婪模式

g<1>表示用了表现内方式,1位引用第一个分组

 技术图片

 

      方式3:在方式2的基础上,把序号改为分组名称

 技术图片

 

 

例子3:sub可以替换时候,把内容格式进行修改

 技术图片

 

 

003 subn替换并返回替换数量

 技术图片

技术图片

 

 

 

004 编译标记

正则操作过程中 ,有些行为时可以改变的

 技术图片

 

 

例子1:匹配时候忽略大小写

 技术图片

 

例子2:查找多行都找,

 技术图片

 

例子3:指定匹配所有字符

 技术图片

 

 

 

005 清理正则缓存

正则在模式编译时候,编译好的模式会缓存到内存中,如果想某个时间清空之前的缓存,可以使用purge方法

 技术图片

技术图片

 

 

 

006 逃逸字符

      逃逸字符,忽略以前原有的功能意义如行开始标志^、或行结尾标志$、问号等

 技术图片

 

文本里面本身含有^,如果想匹配该字符

 技术图片

 

35 Python - 正则表达式 综合应用

标签:图片   需要   表达   名称   引用   最大数   调用   简单   spi   

原文地址:https://www.cnblogs.com/yijiexi/p/11165387.html

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