现在手机上的消息越来越多,suffering from notification swamp everyday
学校的驿站也做得非常垃圾,诺大的校园就一个驿站,每天七点以后就取不了了,成吨的快递一起配送,有的时候连信息都不发。
不过在发消息的时候我还是希望能够在通知的海洋里找到那一条快递取件码的消息,于是有了这篇 blog。
其实实现起来很简单,直接在手机锁屏上显示快递取件码。我的 iOS 系统版本是 17.1.2,系统语言为 English 所以下面的截图也都是英文。
效果图:


支持多个取件码:

prerequisite
- 设备要求: 需要使用的是 iOS 设备快捷指令,系统版本为 17.1.2。
- 系统语言: 英语(本教程的截图也将以英语为准)。
步骤概览
- 打开“快捷指令”应用。
- 创建一个新的自动化。
- 设置监测的关键词(例如“菜鸟驿站”)。
- 使用正则表达式过滤和提取取件码。
- 设置通知展示取件码。
详细步骤
1. 打开快捷指令
- 启动 快捷指令(Shortcuts)应用。
- 点击界面中间的“自动化”(Automation)标签,然后点击右上角的“+”按钮,选择“创建个人自动化”(Create Personal Automation)。

2. 设置触发条件
- 在自动化选项中,选择“消息”(Message)。
- 设置筛选条件为“消息包含”(Message Contains),并输入你想要监控的关键词,例如“菜鸟驿站”。
- 选择 run immediately。


3. 配置动作
- 点击“添加动作”(Add Action),搜索并选择“获取输入中的文本”(Get Text from Input),输入来源选择为“快捷指令输入”(Shortcut Input)。
- 添加“如果”(If)规则,条件设置为“包含”(Contains),并填写你的正则表达式来匹配取件码。
示例正则表达式
快递消息如:
1 | 【菜鸟驿站】您的韵达包裹等您很久啦,请凭 28-6-8069 至上海财经大学综合物流中心菜鸟驿站尽早取,询 15800315833 |
为了从消息中提取取件码,你可以使用以下正则表达式模板:
1 | (?<=\前字符).*?(?=\后字符) |
针对提供的示例,取件码位于“凭”和“至”或“在”之间。因此,我们可以构建一个正则表达式来匹配这一模式。
1 | (?<=\凭).*?(?=\至|\在) |
这个表达式的含义是:查找位于“凭”之后和“至”或“在”之前的任何内容。最后的结果就是提取出“28-6-8069”和“43-5-7559”这样的取件码。
4. 设置取件码提取和显示
- 接下来,搜索并选择“文本”(Text)动作,输入你想要显示的文本格式,例如“菜鸟驿站取件码”,并将变量设置为先前正则表达式的匹配结果(Matches)。

5. 设置停止执行条件
- 继续添加动作,搜索“停止执行”并将其放置在“否则”分支下。这样如果消息中没有找到取件码,快捷指令就会在此停止执行。
6. 添加通知显示
锁屏显示取件码
- 可以用系统自带备忘录,将 match 到的文本添加到备忘录中。也可以用系统自带的 reminders。我用了 Myerlist,它可以在锁屏上显示 live activities。设置如下:

更多自动化玩法
- 使用iOS的“提醒事项”创建地理位置提醒,例如,当你到达家附近100米范围内时,自动提醒你有快递需要取。
- 结合家庭共享功能,快递到达时自动通过消息或邮件通知家人帮助取件。