大神知道哪里有错误?
python吧
全部回复
仅看楼主
level 4
想用这个正则表达式挖掘末尾为3位同号的手机号,并给出了一个号码,返回的却是空列表,哪里出错了?
from re import *
num = findall('1[358]\d{6}(\d)\2}','
13856780999
')
print(num)
2019年11月02日 03点11分 1
level 2
看不懂你的表达式,这是我的想法:
from re import findall
text = '
13856780999
'
text = text.strip()
n = text[-1]
num = findall('%s{3}'%n, text[-3:])
if num:
print(text)
2019年11月02日 04点11分 2
@☞鱼那么少 我试了可以,这里用了捕获组只会返回捕获内容,无法返回整个号码
2019年11月02日 10点11分
@☞鱼那么少 import re s = "13568688999" r = "1[^12]\d{6}(?:111|222|333|444|555|666|777|888|999|000)" print(re.findall(r,s)) 这样第二位就不会出现12了
2019年11月02日 13点11分
@☞鱼那么少 这样应该可以 nums = findall(r'1\d{7}(?:111|222|333|444|555|666|777|888|999|000), text)
2019年11月02日 06点11分
@⚡潮汐⚡ 不错呢,你这个可以啊,就是第二位要过滤下,不能出现1-2之类的非手机号!你能找出我那个问题吗?
2019年11月02日 08点11分
1