首页 > 编程语言 >python3正则-替换和切割函数

python3正则-替换和切割函数

时间:2023-04-15 12:45:04浏览次数:35  
标签:切割 pattern 正则 repl result 字符串 替换 python3 string

1、介绍
这里整理sub、subn和split三个函数的使用。

2、sub函数

sub(pattern, repl, string, count=0, flags=0)
  • pattern,正则表达式
  • repl,替换文本
  • string,待处理字符串
  • count,表示替换的最大次数。默认为0表示全部替换
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串由pattern指向的规则作为子字符串,不要求开始和结尾,然后用repl文本替换全部匹配项
  • 如果存在匹配,返回被替换之后的文本,返回类型为str。如果不存在匹配,则返回原字符串

示例:

import re

pattern = "abc"
result = re.sub(pattern=pattern, repl="ggg", string="-abcdefabc")
print(result)
"""
-gggdefggg
"""
print(type(result))
"""
<class 'str'>
"""

3、subn函数

subn(pattern, repl, string, count=0, flags=0)
  • pattern,正则表达式
  • repl,替换文本
  • string,待处理字符串
  • count,表示替换的最大次数。默认为0表示全部替换
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串由pattern指向的规则作为子字符串,不要求开始和结尾,然后用repl文本替换全部匹配项
  • 返回一个元素个数为2的tuple,第一个元素str类型,第二个元素int类型。
  • 如果不存在匹配,第一个元素是原字符串,第二个元素为0
  • 如果存在匹配,第一个元素是替换后的字符串,第二个元素是实际替换次数
import re

pattern = "abc"
result = re.subn(pattern=pattern, repl="ggg", count=1, string="-abcdefabc")
print(result)
print(type(result))
"""
('-gggdefabc', 1)
<class 'tuple'>
"""

4、split函数

split(pattern, string, maxsplit=0, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • maxsplit,最大分割次数,默认为0表示全部分割
  • flags,标志,处理模式
  • 返回一个list对象,如果存在匹配,则元素是匹配切割后的子字符串。如果不存在匹配,则元素有且只有一个,是原字符串
pattern = "abc"
result = re.split(pattern=pattern, string="-abcdefabc", maxsplit=1)
print(result)
print(type(result))
"""
['-', 'defabc']
<class 'list'>
"""

标签:切割,pattern,正则,repl,result,字符串,替换,python3,string
From: https://www.cnblogs.com/wd404/p/17320881.html

相关文章

  • python3正则-多匹配函数
    1、介绍这里介绍findall和finditer两个函数。2、findall函数findall(pattern,string,flags=0)pattern,正则表达式string,待处理字符串flags,标志,处理模式返回类型为list,如果不存在匹配,返回空列表[]。如果存在匹配,则返回全部匹配项,这里需要注意()的影响2.1无()importr......
  • python3正则-单匹配函数
    1、介绍re模块是python3用于处理正则的模块。这里介绍三个函数,re.match、re.fullmatch和re.search的使用。其都是如果匹配,则返回re.Match类对象,为初次匹配项。不匹配则返回None。且()不影响匹配结果,只是匹配过程中对需要匹配的描述。2、match函数match(pattern,string,fla......
  • Python 利用正则表达式和filter函数 筛选序列(列表等)
    在 Python 中,序列类型包括字符串、列表、元组、集合和字典http://c.biancheng.net/view/4312.htmlPython内建的filter()函数用于过滤序列https://www.liaoxuefeng.com/wiki/1016959663602400/1017404530360000序列内逐个元素筛选filter并用list保存结果筛选的判断条件是re.match......
  • python3多线程-线程池和优先队列
    1、介绍有两种线程池方案。各线程持续存在,从任务池获取任务进行执行按照需求创建线程,每个线程只执行一个任务,结束完毕则该线程结束2、准备(1)任务池task_list任务池是用于准备各任务单元的环境,比如http爆破时的请求参数,读写文件时的路径。任务池的准备可能会占用一定时间,边准......
  • bash shell 无法使用 perl 正则
      哈喽大家好,我是咸鱼。今天跟大家分享一个关于正则表达式的案例,希望能够对你有所帮助案例现象前几天有一个小伙伴在群里求助,说他这个shell脚本有问题,让大家帮忙看看   可以看到,这个脚本首先将目标文本文件的名字当作该脚本的第一个参数($1)传递进去,然后查看这个文本......
  • python3多线程-线程同步
    1、介绍多线程同时访问和操作同一资源,可能会造成异常。解决办法是对资源进行限制,同一时间只允许一个线程进行访问和操作。这里的资源,一般是指方法、函数或者代码块。即由多行代码组成,在逻辑上属于不可切分的操作。2、线程同步使用Thread对象的Lock和Rlock可以实现简单......
  • python3模块和相关
    1、模块为了方便管理类和函数,将其保存到不同的文件中,文件又可以存放在不同的目录下。这里的文件和目录,即python模块。(1)通过关键字import进行导入(2)一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。(3)搜索路径被存储在sys模块......
  • python3类的继承与相关
    参考:https://blog.csdn.net/zhouzhiwengang/article/details/1196776371、继承python支持类继承,在子类类名后的圆括号()中声明继承的父类,如果没有继承,则可以不加()。支持多继承,直接写入多个类名,用,分隔。如果没有指定基类,python的类会默认继承object类。object是所有python类......
  • python3类
    1、类python中使用关键字class声明类。在类中,可以有变量和方法。2、对象变量和类变量在类中、方法外声明的变量为类变量,基于该类创建的对象共享类变量。在类中、方法中声明的变量为对象变量,属于各对象私有。对象变量一般建议在初始化方法__init__中统一声明,当然,在其他方法中......
  • python3控制结构
    1、介绍控制结构一般为:顺序结构,默认的从前到后执行顺序执行即是条件结构,if结构,python没有switch结构循环结构,while和for结构,以及迭代器,python不存在dowhile结构2、if结构if条件判断:passelif条件判断:passelse:pass3、while结构i=3whilei>0:......