蒹葭苍苍,白露为霜。
所谓伊人,在水一方。

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


综合应用

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 逃逸字符

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

 

 

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

 

 

赞(0) 打赏
未经允许不得转载:酷居科技 » Python - 正则表达式 综合应用-35

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

锦瑟无端五十弦,一弦一柱思华年

酷居科技联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏