1.正则表达式的常用操作符
2.正则表达式语法实例
3.匹配中文字符
- 注:匹配中文字符:[\u4e00-\u9fa5]
4.flags ->re.I, re.M, re.S 的区别
-
re.I : 忽略正则表达式的大小写,[A-Z]能够匹配小写字符
-
re.M: 正则表达式中的^操作符能够将给定字符串的每行当作匹配开始
-
re.S: 正则表达式中的.操作符能够匹配所有字符,默认匹配除换行外的所有字符
① rem = re.compile('<a.*?>.*?</a>',re.M|re.I|re.S) mm = re.findall(rem,div_listbox_str) ② mm = re.findall(r'<a.*?>.*?</a>',div_listbox_str)
5.re.match匹配首个满足匹配的字符串:
6.re.findall匹配所有满足正则表达式的句子
- 且常用for in 来遍历访问
7.实现最小匹配
- Re库默认采用贪婪匹配,即匹配最长的字符串
8.标签的过滤:
- 注意:<span .* ? > . * ? < /span> 取的是包括标签在内的句子,而<span .* ? > (. * ?) < /span>取的是(过滤标签后)标签内部的元素
9.定位某div标签:
- 如爬取某新闻网站,其中的核心内容<! --新闻速递–>
10.获取中的URL
res_url = r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')"
link = re.findall(res_url,div_listbox_str,re.I|re.S|re.M)