python 写一个函数 输入文本 过滤去除文本中的手机号码 座机号码以及 03-3239-061或03-3239061 0120-380-688类似的号码


以下是用正则表达式实现的代码:

def filter_phone(text):

    # 匹配日本手机号码格式

    pattern_phone = r'\d{2,4}-\d{2,4}-\d{4}'

    # 匹配日本座机号码格式

    pattern_tel = r'\d{1,4}-\d{1,4}-\d{4}'
    pattern_tel2=r'0\d{2,3}-?\d{7,8}'
    tel=r'1[3456789]\d{9}'

    # 匹配日本特殊号码格式

    pattern_special = r'(0120|0570|0800)-\d{3}-\d{3}'
    pattern_special3 = r'\d{2,4}-\d{2,4}-\d{3}'
    pattern_special4 = r'\d{2,4}-\d{7}'



    pattern = '|'.join([pattern_phone, pattern_tel, pattern_special,tel,pattern_tel2,pattern_special3,pattern_special4])

    # 将匹配到的号码替换为 ''

    text = re.sub(pattern, '', text)



    return text

```			
简单解释一下代码:



首先定义了三个正则表达式分别用于匹配日本手机号码格式,座机号码格式以及特殊号码格式。然后将三个正则表达式组合到一起,使用 re.sub() 函数将文本中匹配到的号码替换为空字符串。最后返回过滤后的文本。

(本文内容根据网络资料整理和来自用户投稿,出于传递更多信息之目的,不代表本站其观点和立场。也不对其真实性、可靠性承担任何法律责任,特此声明!)

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部