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

Posted yijiexi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35 Python - 正则表达式 综合应用相关的知识,希望对你有一定的参考价值。

综合应用

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 - 正则表达式 综合应用的主要内容,如果未能解决你的问题,请参考以下文章

python步骤四 第一课初始正则表达式

学习正则表达式在python中的应用

Python爬虫编程思想(35):用正则表达式搜索替换和分隔字符串

shell编程

12-Linux的正则表达式(综合网络整理)

将正则表达式应用于 R 中的字符串