📅  最后修改于: 2023-12-03 15:26:39.355000             🧑  作者: Mango
本程序旨在帮助用户查找隐藏号码,可以自动识别出手机号、座机号等常见号码,对于存在一定规律的隐藏号码也能进行有效识别。
首先,用户需要运行本程序并输入待查找的字符串。程序会自动判断其中可能存在的号码,并将其输出。用户可以选择将输出结果保存至本地文件或进行复制。
python find_hidden_number.py
。import re
import pyperclip
def find_hidden_number(text):
print('正在查找隐藏号码...')
pattern = re.compile(r'\d{3,4}[- ]?\d{7,8}|\d{11}')
matches = pattern.findall(text)
if not matches:
print('未找到隐藏号码。')
return ''
output = '\n'.join(matches)
print(f'已找到以下 {len(matches)} 个隐藏号码:\n{output}')
print('是否需要保存输出结果至本地文件?(Y/N)')
answer = input().upper()
if answer == 'Y':
with open('output.txt', 'w') as f:
f.write(output)
print(f'输出结果已保存至 {os.getcwd()}/output.txt')
else:
pyperclip.copy(output)
print('输出结果已复制至剪贴板。')
return output
if __name__ == '__main__':
text = input('请输入待查找的字符串:')
find_hidden_number(text)
对于输入的字符串,程序首先通过正则表达式 r'\d{3,4}[- ]?\d{7,8}|\d{11}'
提取其中可能存在的号码。其中 \d{3,4}[- ]?\d{7,8}
表示匹配形式为 “区号(3-4位数字)+电话号码(7-8位数字)” 或者 “区号+空格/横杆+电话号码” 的电话号码;\d{11}
表示匹配形式为 “11位数字” 的手机号码。程序将匹配结果以列表形式存储在 matches
变量中。
若程序未找到隐藏号码,则在命令行中输出 “未找到隐藏号码。” 并返回空字符串。
若程序已找到隐藏号码,则将其输出至命令行中,并询问用户是否需要将输出结果保存至本地文件或复制至剪贴板。若用户选择保存,则程序自动将输出结果写入当前目录下的 output.txt 文件中。若用户选择复制,则程序自动将输出结果复制至剪贴板。
最后,程序将输出结果以字符串形式返回。