基本语法
正则表达式元符
\d:一个数字;
\w:一个字母或数字;
\s:一个空格;
\S:匹配任意非空字符;
.:一个任意字符;
*:任意个任意字符;
+:一个或以上个任意字符;
?:0个或1个任意字符
\d+?:加个问号→非贪婪匹配;
{n}:n个字符
{n,m}:n-m个字符
[]:一个范围。
正则表达式分组提取
在表达式上加(),第一个括号为第一组。
m.group(0) #原始字符串
m.group(1) #第一个字符串
info=re.findall(r'regx',pattern) #返回一个列表
info=re.finditer(r'regx',patterm) #返回一个match对象,只有match对象才具有group属性。
plt=re.findall(r'\"view_price\":\"[\d\.]*\"',html)
#返回匹配到的所有字符串的列表,例如['"view_price":"19.90"']
plt=re.findall(r'\"view_price\":\"([\d\.]*)\"',html)
#返回提取的字符串的列表,例如['19.90','25.20'}
正则表达式编译后直接匹配1
re_telephone=re.compile(r'^(\d{3})\-(\d{3-8})$')
re_telephone.match(string)