Python正则表达式re的使用
在re正则表达式的库包使用中,常用的两个函数为一下,text是str的格式。
re.search(pattern,text)# 获取到的内容需要用group(1) 来提取,应该是首个符合要求元素
re.findall(pattern,text)# 获取到的是所有符合内容的元素的list
其中对于pattern需要用’ ’引用,(.*?)括号中为提取的内容。括号外的内容为需要匹配上的内容,当然也可以在括号内加入需要匹配的内容。而?代表非贪婪模式,可以自己调整试试有无?的区别。同时,pattern中可以出现多个(.*)和(.*?) 可以再search后的group(n)的n来控制提取的内容。
re.search(r'parse\("(.*?)"\),', res.text).group(1)
如果出现了需要匹配括号( )的情况,则需要用到 \ 转义字符。
re.findall(r'"videoId":"(.*?)"', res.text)
其中r' '单引号左侧的r其实就是代表pattern吧,具体干嘛我也不太清楚,而且加不加上好像影响目前不太大。
pattern = r'data-video-ids="(.*?)"' kk = re.findall(pattern, str(id))单引号里面可以匹配“ ”双引号,但是我一般会选择尽量避免,感觉太多这种会比较混乱。