python 面向对象入门 - 之 正则表达式

1 篇文章 0 订阅
1 篇文章 0 订阅
该博文涵盖了如下内容: 
1.正则表达式 re 
2.url库 urllib 
3.debug 方法 
4.面向对象封装方法 

Java代码   收藏代码
  1. #encoding=utf-8  
  2. '''  
  3.  python learn regular express  
  4.  url : http://docs.python.org/library/re.html  
  5.  parse html url : http://www.boddie.org.uk/python/HTML.html  
  6.  author : liuzheng  
  7. '''   
  8. import re  
  9. import urllib  
  10.   
  11. #分析javaeye blog 频道  
  12. class ParseHTML:  
  13.     '''  
  14.     parse html for infomation  
  15.     parse javeeye page  
  16.     '''  
  17.   
  18.     def __init__(self,url):  
  19.         self.url = url  
  20.         pass  
  21.       
  22.       
  23.     #analyses html   
  24.     def parse(self):  
  25.         sock = urllib.urlopen(self.url)   
  26.         html = sock.read()  
  27.         self.__puts(html)  
  28.         pass  
  29.       
  30.     #打印html 匹配数据  
  31.     def __puts(self,html):  
  32.         b =  re.compile(r"<a href='([\w./:\\]+?)'[\s]*title=([^<>]+?)[\s]*target=([^<>]+?)>([^<>]+?)</a>",re.I)  
  33.         m = re.findall(b,html)  
  34.         #这里有encode 问题?,不知道,大家是否可以帮忙解答  
  35.         print  m  
  36.           
  37.           
  38. if __name__ == '__main__':  
  39.      url = "http://www.iteye.com/blogs"  
  40.      p = ParseHTML(url)  
  41.      p.parse()  
  42.   
  43.    
  44. if __debug__:  
  45.      print "debuging is %s" %  __debug__  
  46.      print "regular" + "* "  * 30  
  47.      #math  
  48.      str = "800-820-8800"  
  49.      m = re.match(r"(\d{3})-(\d{3})-(\d{4})", str)  
  50.      print "result : " ,m.groups()  
  51.   
  52.      #split  
  53.      print "split : %s" % re.split('\W''Words, words, words.')  
  54.   
  55.      #findall  
  56.      text = "He was carefully disguised but captured quickly by police."  
  57.      print "findall  :%s" % re.findall(r"\w+ly",text)  
  58.   
  59.      #sub  
  60.      text = "hello world!"  
  61.      print "sub:%s" % re.sub(r"\s+","--",text)  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值