首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex -跟踪数字2018

regex -跟踪数字2018
EN

Stack Overflow用户
提问于 2018-11-18 07:57:35
回答 1查看 975关注 0票数 1

我创建了一个引用这个线程的新线程,它已经存在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为中心

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

代码语言:javascript
复制
\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跟踪号格式的模式。

提前感谢,希望这能在未来帮助其他人。

EN

回答 1

Stack Overflow用户

发布于 2018-11-18 09:06:15

如果是我,我根本不会为空格操心,因为它们似乎无关紧要。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53356710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档