dsy851009<em></e 阅读(141) 评论(0)
正则用的也不少,但过几天不用就又忘记了,而且细节东西从来没注意过,记录下,方便下次查看;
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只对^起作用;

先整理到这里了;睡觉!