gpt4 book ai didi

python - 正则表达式 - 跟踪号码 2018

转载 作者:行者123 更新时间:2023-12-01 08:44:30 25 4
gpt4 key购买 nike

我创建了一个引用该线程的新线程,该线程已经有 9 年历史了:

( Regular Expression patterns for Tracking numbers )

目前我的问题是围绕 UPS 追踪号码的格式解决的。根据 UPS.com,带有 1Z 的追踪号码的格式应为 1Z + 6 个字符(数字或字母)+ 2 个字符(数字或字母)+ 8 个字符(数字或字母),示例格式:1Z 89X406 C8 33660056,但是在上面线程链接中引用的 UPS 示例中,匹配格式集中在:1Z 89S 406 B8 3322 005 6

在第二种匹配格式中,使用的模式是:

\b(1Z ?[0-9A-Z]{3} ?[0-9A-Z]{3} ?[0-9A-Z]{2} ?[0-9A-Z]{4} ?[0-9A-Z]{3} ?[0-9A-Z]

但是,您也可以使用此模式(根据 UPS 报价正确格式匹配第一种格式):\b(1Z ?[0-9A-Z]{6} ?[0- 9A-Z]{2} ?[0-9A-Z]{8}

我想我的问题可以归结为使用任一匹配模式是否比另一个更有效率。我不明白为什么上面链接的OP使用第二个匹配模式而不是符合UPS跟踪号格式的模式。

提前致谢,并希望这对将来的其他人有所帮助。

最佳答案

如果是我,我根本不会理会空格,因为它们似乎并不重要。

tracking_number = "1Z 89S 406 B8 3322 005 6"
# Strip spaces out
tracking_number = tracking_number.replace(' ', '')
match = re.search(r'1Z[A-Z0-9]{16}', tracking_number)

关于python - 正则表达式 - 跟踪号码 2018,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356710/

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