Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18685
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-12 19:23
文章分类
文章存档

2014年(6)

我的朋友
最近访客

分类: Python/Ruby

2014-09-07 16:26:05

原文地址:正则记录 作者:dsy851009

正则用的也不少,但过几天不用就又忘记了,而且细节东西从来没注意过,记录下,方便下次查看;
1、匹配数字:\d,匹配字母:\w,如果大写就是反向取,比如\D就是非数字,\W就是非字母。这两个用的比较多,记下来;
2、贪婪模式和非贪婪模式:
例子:re.findall(r"a(\d+?)""a23b") 结果是:['2']
      re.findall(r"a(\d+)""a23b") 结果是:['23']
这里加“?”就是非贪婪模式,匹配到一个就停止;
但区别于下面这个,因为后面有个字母结束的限制:


3、search,match,findall区别
match 是匹配字符串的开始位置,匹配到就返回匹配值,匹配不到就返回NONE;
如下图,认真对比看下就明白了:


search 是匹配整个字符串:



4、如果你要多行匹配,那么加上re.S和re.M标志

re.S 将会匹配换行符,默认.不会匹配换行符,所以抓取网页时,如果有换行符的,请加上re.S吧,否则匹配不到哦;


re.M ^$标志将会匹配每一行,默认^和$只会匹配第一行;


这里的re.M只对^起作用;

先整理到这里了;睡觉!




















阅读(1337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~