gpt4 book ai didi

python - 如何使用正则表达式在字符串中查找美国邮政编码?

转载 作者:行者123 更新时间:2023-12-04 13:14:04 26 4
gpt4 key购买 nike

填写代码以检查传递的文本是否包含可能的美国邮政编码,格式如下:正好 5 位数字,有时(但并非总是)后跟带有 4 位以上数字的破折号。邮政编码前面至少需要一个空格,并且不能位于文本的开头。

无法产生所需的输出。

import re
def check_zip_code (text):
result = re.search(r"\w+\d{5}-?(\d{4})?", text)
return result != None

print(check_zip_code("The zip codes for New York are 10001 thru 11104.")) # True
print(check_zip_code("90210 is a TV show")) # False
print(check_zip_code("Their address is: 123 Main Street, Anytown, AZ 85258-0001.")) # True
print(check_zip_code("The Parliament of Canada is at 111 Wellington St, Ottawa, ON K1A0A9.")) # False

最佳答案

你可以使用

(?!\A)\b\d{5}(?:-\d{4})?\b

完整代码:

import re

def check_zip_code (text):
m = re.search(r'(?!\A)\b\d{5}(?:-\d{4})?\b', text)
return True if m else False

print(check_zip_code("The zip codes for New York are 10001 thru 11104.")) # True
print(check_zip_code("90210 is a TV show")) # False
print(check_zip_code("Their address is: 123 Main Street, Anytown, AZ 85258-0001.")) # True
print(check_zip_code("The Parliament of Canada is at 111 Wellington St, Ottawa, ON K1A0A9.")) # False


同时我发现有一个名为 zipcodes 的包这可能会提供额外的帮助。

关于python - 如何使用正则表达式在字符串中查找美国邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62157006/

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