gpt4 book ai didi

python - 正则表达式返回 None (python)

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:57 24 4
gpt4 key购买 nike

我刚接触 Python 一个月,这个基本练习让我陷入困境。我正在尝试制作一个搜索脚本来搜索我输入的文本并将结果放在剪贴板上。我已经被困在下面大约一周了。如果我直接从网站复制文本并输入它,则没有结果(我得到 None 输出)。但如果我直接复制号码,就没有问题,它可以完美地读取它们。我已经尝试了几种方法(如下所示),但没有运气,它把我难住了。下面是我粘贴的示例文本,但没有给出任何结果:

‌‌博士。有人发送垃圾邮件

房间:BLD-2001

+353 (0)11 123456

人们可以提供的任何意见都会很棒。还有一个附带问题,任何关于学习 python 的书籍/建议都会很棒。目前正在关注“用 python 自动化无聊的事情”。只是为了好玩而做。提前致谢。

import re, pyperclip

def findphone(numbers):
numregex = re.compile(r'\(\d\)\d\d\s\d+')
numregex1 = re.compile(r'(0)11 123456')
phoneRegex = re.compile(r'''(
(\+\d{3})? # area code
(\s|-|\.)? # separator
(\d{3}|\(\d\)\d\d)? # area code
(\s|-|\.)? # separator
\d{6} # Landline Number
)''', re.VERBOSE)
mo = numregex.search(numbers)
mo0 = numregex1.search(numbers)
mo1 = phoneRegex.search(numbers)
print('mo ' +str(mo))
print('mo0 ' +str(mo0))
print('mo1 ' +str(mo1))

print('Input check text')
numbers = input()
findphone(numbers)

最佳答案

查看内联更改

# -*- coding: utf-8 -*-
# 1. added above line
import re

def findphone(numbers):
numregex = re.compile(r'(\(\d\)\d\d\s\d+)') # 2. Added circular brackets around the regular expression
numregex1 = re.compile(r'(\(0\)11 123456)') # 3. Escaped circular brackets around 0

# 4. Made small changes to the following, mainly changing brackets.
phoneRegex = re.compile(r'''
(\+\d{3}) # area code
[\s|-|\.] # separator
(\d{3}|\(\d\)\d\d)? # area code
[\s|-|\.] # separator
(\d{6}) # Landline Number
''', re.VERBOSE)
mo = numregex.search(numbers)
mo0 = numregex1.search(numbers)
mo1 = phoneRegex.search(numbers)
if mo:
print('mo ' +str(mo.groups()))
if mo0:
print('mo0 ' +str(mo0.groups()))
if mo1:
# 5. break down in separate variables
country_code = mo1.groups()[0]
area_code = mo1.groups()[1]
landline = mo1.groups()[2]
print country_code, area_code, landline

print('Input check text')
findphone("‌Dr. Someone Spam\nRoom: BLD-2001\n+353 (0)11 123456")

关于python - 正则表达式返回 None (python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com