CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
jackfrued

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: jackfrued/Python-100-Days
Path: blob/master/Day01-15/code/Day12/test4.py
Views: 729
1
import re
2
3
4
def main():
5
# 创建正则表达式对象 使用了前瞻和回顾来保证手机号前后不应该出现数字
6
pattern = re.compile(r'(?<=\D)(1[38]\d{9}|14[57]\d{8}|15[0-35-9]\d{8}|17[678]\d{8})(?=\D)')
7
sentence = '''
8
重要的事情说8130123456789遍,我的手机号是13512346789这个靓号,
9
不是15600998765,也是110或119,王大锤的手机号才是15600998765。
10
'''
11
# 查找所有匹配并保存到一个列表中
12
mylist = re.findall(pattern, sentence)
13
print(mylist)
14
print('--------华丽的分隔线--------')
15
# 通过迭代器取出匹配对象并获得匹配的内容
16
for temp in pattern.finditer(sentence):
17
print(temp.group())
18
print('--------华丽的分隔线--------')
19
# 通过search函数指定搜索位置找出所有匹配
20
m = pattern.search(sentence)
21
while m:
22
print(m.group())
23
m = pattern.search(sentence, m.end())
24
25
26
if __name__ == '__main__':
27
main()
28
29