1. 首页
  2. Python

python的正则表达式替换(re.sub)使用讲解

“u003Cdivu003Eu003Cpu003E一、re.sub使用方法讲解u003Cu002Fpu003Eu003Cpreu003Epython的替换是使用正则表达式re模块内置的函数sub,函数使用如右:re.sub(pattern, repl, string, count, flags)u003Cbru003E1、re是python的内置正则表达式模块u003Cbru003E2、sub英文是替换的意思,在字符串里将旧的内容按照一定的匹配规则替换为新的内容u003Cbru003E3、pattern代表正则表达式的匹配规则,可以直接写,也可以用re.compile获取,必选参数u003Cbru003E4、repl就是replacemen,代表替换成新的内容,这个内容可以是固定的字符串数字,也可以是一个函数的返回值,必选参数u003Cbru003E5、string代表要从中查找的字符串,必选参数u003Cbru003E6、count可选项,代表要替换的个数u003Cbru003E7、flags可选项,用来控制匹配模式,分别是:u003Cbru003E①re.I :I的英文单词是IGNORECASE,使匹配对大小写不敏感,u003Cbru003E②re.L :L的英文单词是LOCALE,做本地化识别(locale-aware)匹配,u003Cbru003E③re.M :M的英文单词是MULTILINE,多行匹配,影响 ^ 和 $,u003Cbru003E④re.S :使 . 匹配包括换行在内的所有字符,u003Cbru003E⑤re.U :U的英文单词是Unicode,根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B,u003Cbru003E⑥re.X :该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E二、re.sub使用案例讲解:u003Cu002Fpu003Eu003Cpu003Ere.sub共计有两种替换方法,分别是固定值替换法,函数返回值替换法,代码如下所示:u003Cu002Fpu003Eu003Cpreu003Eimport re #必须导入内置的正则表达式re模块u003Cbru003Estr1=’zhangsan,ZLVV12,1245,fsds,adf12′ #设置字符串str1的值u003Cbru003E#以下的sub是固定替换法u003Cbru003Epattern1=re.compile(r'[a-z]+\d+’) #设置正则表达式匹配规则,至少1个小写字母+至少一个数字,并将匹配规则赋值给pattern1u003Cbru003Eresult1=re.sub(pattern1,”123”,str1) #从str1中根据匹配规则pattern1将匹配出来的结果替换为”123″u003Cbru003Eprint(“result1:”result1) #打印result1的值u003Cbru003E#以下是sub的函数返回值替换法u003Cbru003Edef fun(arg): #定义函数fun,参数为argu003Cbru003E int1=arg.group() #将参数arg的分组值赋值给int1u003Cbru003E int2=int(int1)+1 #将int1转变为整数,并加1,最后赋值给int2u003Cbru003E return str(int2) #返回已经转换成字符串的int2的值u003Cbru003Eresult2=re.sub(r’\d+’,fun,str1) #将str1里符合至少1个数字的匹配的数据取出来并按照fun函数的返回值进行替换,即在原值的基础上加1,最终赋值给result2u003Cbru003Eprint(“result2:”,result2) #打印result2的值u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E代码运行结果如下:u003Cu002Fpu003Eu003Cpu003Ezhangsan,ZLVV12,1245,fsds,123u003Cu002Fpu003Eu003Cpu003Ezhangsan,ZLVV13,1246,fsds,adf13u003Cu002Fpu003Eu003Cpu003E图片示例如下:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1684ad7179d544758a1a1c8ccacf0f80″ img_width=”1046″ img_height=”847″ alt=”python的正则表达式替换(re.sub)使用讲解” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003E”

原文始发于:python的正则表达式替换(re.sub)使用讲解

主题测试文章,只做测试使用。发布者:~那﹑男人是我的命﹪,转转请注明出处:http://www.cxybcw.com/13066.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code