补充关于爬虫中.*?
1、. 匹配任意除换行符“\n”外的字符;
2、*表示匹配前一个字符0次或无限次;
3、+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复;
4、 .*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
如:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab。
-------------------------------------------------------------------------------------------------------------------------------------------------------
*:匹配前面字符的任意次数(包括0次) 不常用
+:匹配前面字符的任意次数(不包括0次) 常用
{}:指定前面字符出现次数 eg:[a-z]{2,10} 字母出现2-10次
[]:表达任选一种 eg:[a-z0-9] 字母或者数字开头
?:控制为非贪婪模式
\d:数字
\D:非数字
\s:空白字符
\S:非空白字符
\w:任意文字字符
\W:任意非文字字符
^:[]中使用表达 非
不在[]中使用表达文本开头 或每行开头(多行模式)
$:表达结尾
import re
file='I have 2334 apples,0 orange and 44566 bananas.'
x=re.findall(r'[0-9]+',file)
print(x)