|  | 
 
 
 楼主|
发表于 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都会进行匹配
 >>>
 | 
 |