python爬虫之正则表达式

字符串是我们在编程的时候很常用的一种数据类型,检查会在字符串里面查找一些内容,对于比较简单的查找,字符串里面就有一些内置的方法可以处理,对于比较复杂的字符串查找,或者是有一些内容经常变化的字符串里面查找,那么字符串内置的查找方法已经不好使了,满足不了我们的要求,这个时候就得用正则表达式了,正则表达式就是用来匹配一些比较复杂的字符串。

     在python中,如果使用正则表达式的话,需要导入re模块,re模块是一个内置模块,直接import就可以使用。

     匹配字符串的几个方法

import re
s='chenshifeng is a good boy'
print(re.match('chen',s))
#match方法接收3个参数,第一个是匹配的规则,也就是正则表达式,第二个是要查找的字符串,
#第三个参数不是必填的,用于控制正则表达式的匹配方式,看下面正则表达式的匹配模式。是从字符串的第一个单词中匹配字符串,如果匹配到返回一个对象,如果匹配不到,则返回None
#>>> <_sre.SRE_Match object; span=(0, 4), match='chen'>
print(re.search('feng',s))
#search方法的参数和match一样,和match方法不一样的是,match是从字符串里面的第一个单词里面找,而search方法则是从字符串的整个内容里面找,如果找到了就返回第一个,找不到就返回None
#>>> <_sre.SRE_Match object; span=(7, 11), match='feng'>
print(re.findall('feng',s))
#findall方法的参数上面的match、search一样,和他们不一样的是,findall会返回所有一个list,把所有匹配到的字符串,放到这个list里面,如果找不到的话,就返回一个空的list
#>>> ['feng']
print(re.sub('chen','Chen',s))
#sub方法和字符串的replace方法一样,是用来替换字符串的,把匹配到的值替换成一个新的字符串,接收3个参数,第一个是正则表达式,第二个是要替换成什么,第三个就是要查找的字符串,会返回一个新的字符串,如果匹配不到的话,返回原来的字符串
#>>> Chenshifeng is a good boy
print(re.split('is',s))
#split 方法和字符串的split方法一样,是用来分割字符的,按照匹配到的字符串进行分割,返回的是一个list,如果匹配不到的话,那返回的list中还是原来的字符串
#>>> ['chenshifeng ', ' a good boy']

常用正则表达式符号

1、数量词

待续~~

猜你喜欢

转载自www.cnblogs.com/feng0815/p/10841945.html
今日推荐