首页 > 解决方案 > Python 电话号码正则表达式

问题描述

我需要你的帮助:我需要在一段文本中找到所有电话号码,所以我需要匹配不同的号码格式,例如:+420 123 123 123、123 123 123、+420123123123 和/或 123123123。

如果我使用带有搜索方法的正则表达式模式,它可以完美地工作,但如果我使用 findall 方法,它只会返回一个空格列表。

import re

def detect_numbers(text):
    phone_regex = re.compile(r"(\+420)?(\s*)?\d{3}(\s*)?\d{3}(\s*)?\d{3}")
    print(phone_regex.findall(text))

标签: pythonregex

解决方案


尝试像下面这样的正则表达式,手机号码包含数字

"/[^0-9 +\-]/"

如果您想从某些特定号码的用户开始,如下所示

preg_match('\+420\d{9}/', mobilenumber)

推荐阅读