| 
 | 
 
 
 楼主 |
发表于 2017-11-30 20:14:22
|
显示全部楼层
 
 
 
057论一只爬虫的自我修养5:正则表达式(中2)
>>> import re 
>>> re.search(r'[aeiou]', 'I love FishC.com!') 
<_sre.SRE_Match object; span=(3, 4), match='o'>                #        因为正则表达式自带大小写敏感模式,解决方案1、关闭大小写敏感模式  2、修改字符类,例如 
>>> re.search(r'[aeiouAEIOU]', 'I love FishC.com!') 
<_sre.SRE_Match object; span=(0, 1), match='I'>                #        字符类中的任何一个字符匹配成功,就算匹配成功,在中括号中,也可以使用一个小横杠-,来表示一个范围,例如 
>>> re.search(r'[0-9]', 'I love 123 FishC.com!') 
<_sre.SRE_Match object; span=(7, 8), match='1'> 
>>> re.search(r'[2-9]', 'I love 123 FishC.com!') 
<_sre.SRE_Match object; span=(8, 9), match='2'> 
>>>  
有关数字范围↑ 
—————————————————————————————— 
有关匹配个数↓ 
限定重复匹配的个数,可以使用大括号来解决,例如 
>>> re.search(r'ab{3}c', 'abbbc')         
<_sre.SRE_Match object; span=(0, 5), match='abbbc'>                #        要重复多少次,大括号里就写上那个要重复次数的数字就行了         
>>> re.search(r'ab{3}c', 'abbbbbbbbc')                #        如果手滑多打了几个b,Ta就匹配不了了 
>>> re.search(r'ab{3,10}c', 'abbbbbbbbc')        #        可以给Ta限制范围 
<_sre.SRE_Match object; span=(0, 10), match='abbbbbbbbc'>                #        在3或10以内的b,Ta都会进行匹配 
>>>  |   
 
 
 
 |