下面我们继续:
举例:不是以4、7结尾的手机号码(11位)
import re
phone1 = '12321235267'
result1 = re.match(r'1\d{9}[0-3-689]$',phone1)
print(result1)
phone2 = '12321235269'
result2 = re.match(r'1\d{9}[0-3-689]$',phone2)
print(result2)
结果
None
<re.Match object; span=(0, 11), match='12321235269'>
下面的内容与爬虫相关
提取带有区号的电话号码
import re
phone1 = '010-12345678'
result1 = re.match(r'(\d{3}|\d{4})-(\d{8})$',phone1)
print(result1)
#分别提取
print(result1.group())
#()表示分组 group(1)表示提取到第一组的内容 group(2)表示第二组的内容部分
print(result1.group(1))
print(result1.group(2))
结果
<re.Match object; span=(0, 12), match='010-12345678'>
010-12345678
010
12345678
import re
msg1 = 'abc'
result1 = re.match(r'<[0-9a-zA-Z]+>(.+)[0-9a-zA-Z]+>',msg1)
print(result1)
print(result1.group(1))
msg2 = 'hello
'
result2 = re.match(r'<[0-9a-zA-Z]+>(.+)[0-9a-zA-Z]+>$',msg2)
print(result2)
print(result2.group(1))
结果
<re.Match object; span=(0, 16), match='abc'>
abc
<re.Match object; span=(0, 14), match='hello
'>
hello
下面我们想如果匹配的字符是这样子的
msg3 = 'abc
'
result3 = re.match(r'<[0-9a-zA-Z]+>(.+)[0-9a-zA-Z]+>$',msg3)
print(result3)
print(result3.group(1))
结果
<re.Match object; span=(0, 25), match='abc
'>
<h1>abc</h1>
分析结果:是可以匹配到最后的,因为有+,则是贪婪模式(稍后会讲述),但是如果没有