Python正则表达式如何进行字符串替换

先来段网上的知识:http://developer.51cto.com/art/201003/188824.htm

Python正则表达式在使用中会经常应用到字符串替换的代码。有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获。

1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串

 
 
  1. result, number = re.subn(regex, newstring, subject) 

2.替换所有匹配的子串(使 用正则表达式对象)

 
 
  1. rereobj = re.compile(regex)  
  2. result, number = reobj.subn(newstring, subject)字符串拆分 

Python字符串拆分

 
 
  1. reresult = re.split(regex, subject) 

字符串拆分(使用正则表示式对象)

 
 
  1. rereobj = re.compile(regex)  
  2. result = reobj.split(subject)匹配 

下面列出Python正则表达式的几种匹配用法:

1.测试正则表达式是否 匹配字符串的全部或部分regex=ur"..." #正则表达式

 
 
  1. if re.search(regex, subject):  
  2. do_something() 

else:do_anotherthing()2.测试正则表达式是否匹配整个字符串regex=ur"...\Z" #正则表达式末尾以\Z结束

 
 
  1. if re.match(regex, subject):  
  2. do_something()  
  3. else:  
  4. do_anotherthing() 

3. 创建一个匹配对象,然后通过该对象获得匹配细节regex=ur"..." #正则表达式

 
 
  1. match = re.search(regex, subject)  
  2. if match:  
  3. # match start: match.start()  
  4. # match end (exclusive): match.end()  
  5. # matched text: match.group()  
  6. do_something()  
  7. else:  
  8. do_anotherthing() 

以上就是对Python正则表达式在字符串替换中的具体介绍。

==================================================================================

再来看个实例:

import re
urlp = "http://www.mypcera.com/star/mm/jiepaimeinv/942{_page}.html&{what}&&{come}"
pageParam = re.findall('{.*?}', urlp)[0]
print(pageParam)
pageParam = pageParam.replace("page", "3").strip("{}")
print(pageParam)
result = re.sub('{.*?}', pageParam, urlp)
print(result)
看下运行结果:

E:\Program\Python>t.py
{_page}
_3
http://www.mypcera.com/star/mm/jiepaimeinv/942_3.html&_3&&_3

明白了吧,真的很简单噢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值