所谓的python web爬虫基础

import re

正则表达式:

经常使用的符号:点号 问号 星号 和小括号
.:匹配任意字符,换行符\n除外
——点号能够理解为占位符,一个点号匹配一个字符。
*:匹配前一个字符0次或无限次
?:匹配前一个字符0次或者1次
.*:贪心算法(尽量多的匹配到数据)
.*?:非贪心算法(尽量多的找到知足条件的组合)
():括号内的数据将会做为结果返回。

经常使用的方法:findall,Search,Sub
findall:匹配全部符合规律的内容
Search:匹配并提出第一个符合规律的内容,返回一个正则表达式对象
Sub:替换符合规律的内容,返回替换后的值python


万能表达式:
(.*?)正则表达式


多行表达式的匹配
re.S
算法

s='''sdfhajkdxxluhuanxx
   lsdhfxxwangpiaoxxsjdkf'''
sub=re,findall('xx(.*?)xx',s,re.S)

//findall和search的区别
sub= re.search('xx(.*?)xxdsfaxx(.*?)xx',s,re.S).group(1)
sub= re.findall('xx(.*?)xxdsfaxx(.*?)xx',s,re.S)
print sub[0][1]  //在字符串中存在多行知足匹配规则。

小贴士:
匹配数字
a=sdfasd123415ksadfj2345kdsafj
b=re.findall('(\d+)',a)spa

匹配原则:
findall 和search匹配使用
先抓大再抓小
code

相关文章
相关标签/搜索