十年老IT知识分享 – 34 – 寻找字符串中的手机号

1. 请描述Python正则表达式中的match和search的区别

  • match:用于匹配
  • search:用于搜索
import re
m1 = re.match('.*python', 'I love python')
print(m1)
m2 = re.search('python', 'I love python')
print(m2)

<re.Match object; span=(0, 13), match='I love python'>

<re.Match object; span=(7, 13), match='python'>

2. 如果一个字符串中含有11位的手机号,请使用正则表达式找到第1个出现的手机号,并输出手机号,开始索引和结束索引

# search 函数用于通过正则表达式搜索字符串中第1个满足条件的子字符串
# 如果没有任何匹配的子字符串,则返回None
m = re.search('1\d{10}', 'phone: 18888888888')
print(m)
if m is not None:
    print(m.group())
    print(m.start())
    print(m.end())

<re.Match object; span=(7, 18), match='18888888888'>

18888888888

7

18

正文完