一直爬虫的自我修养 正则!
在re模块下
import re
*search找第一个匹配
*findall找所有匹配
*反斜杠后跟1-99的数字代表的是前方小括号括起来从左到右顺序组成,第一个小括号为1,一直到99
如: (Fishc)\1 是不匹配Fishc的而匹配FishcFishc,(F)(S)\1\2 >>匹配的是FSFS \1指的是F \2指的是S
*[...]里面元字符失去本身作用,可能变成其它中作用,如[.]匹配的就是单纯的. 和外边的\.作用一样 但是[\]是不对的 \仍然代表转译符,[^abc]代表匹配除了abc,而[abc^]代表怕匹配abc^其中的一个
正则表达式默认启用贪婪模式:
如下
如何开启非贪婪模式:在表示重复的元字符后加一个问号,即开启非贪婪模式
序号这个很重要 !!,上方俩图片上文字已经叙述
\b 字母和_不认为是单词边界,而其他符号也被认为是单词边界!
图片只是部分的....
P60尾正则表达式的编译标志
findall()如果正则匹配中含有子组,他会将子组匹配的内容返回回来,如果有多个子组,它会以元组的形式返回来
(? 开头是正则表达式的扩展语法
(?:.. 使得findall不作为子组返回