Comments (4)
实在写不出一条通吃的正则表达式,难道就不能分步进行吗?
工具是死的,人是活的啊,只要**不滑坡,办法总比困难多!
【注意】以下仅供思路参考,不保证正则表达式严谨,不保证能适配各种各样的短信格式,请自行根据实际情况微调:
第1次正则替换:
(.*)(.{2}驿站)(.*)===$2#$1$2$3
得到
妈妈驿站#【圆通快递】请凭1-4-4230到尚璟瑞府妈妈驿站领取运单尾号6017包裹,详询13726410547。
菜鸟驿站#【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639
妈妈驿站#【妈妈驿站】取货码2-2-1521,您有极兔快递包裹,已到尚璟瑞府21栋104号门面,询13726410547
第2次正则替换:
(.+)#(.*)(\d+-\d+-\d+)(.*)===$1#$3#$2$3$4
得到
妈妈驿站#1-4-4230#【圆通快递】请凭1-4-4230到尚璟瑞府妈妈驿站领取运单尾号6017包裹,详询13726410547。
菜鸟驿站#0-2-7507#【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639
妈妈驿站#2-2-1521#【妈妈驿站】取货码2-2-1521,您有极兔快递包裹,已到尚璟瑞府21栋104号门面,询13726410547
第3次正则替换:
(.+)#(.+)#(.*)(.{2}快递)(.*)===$1-$2-$4
得到
妈妈驿站-1-4-4230-圆通快递
菜鸟驿站-0-2-7507-中通快递
妈妈驿站-2-2-1521-极兔快递
PS. 正则替换允许填写多条,具体参看 Wiki常见问题
from smsforwarder.
说实话自己这方面的知识确实不足。
感谢你的付出与启示,已打赏10元,尽我绵薄之力,心怀感激!
from smsforwarder.
实在写不出一条通吃的正则表达式,难道就不能分步进行吗?
工具是死的,人是活的啊,只要**不滑坡,办法总比困难多!
【注意】以下仅供思路参考,不保证正则表达式严谨,不保证能适配各种各样的短信格式,请自行根据实际情况微调:
第1次正则替换:
(.*)(.{2}驿站)(.*)===$2#$1$2$3
得到
妈妈驿站#【圆通快递】请凭1-4-4230到尚璟瑞府妈妈驿站领取运单尾号6017包裹,详询13726410547。 菜鸟驿站#【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639 妈妈驿站#【妈妈驿站】取货码2-2-1521,您有极兔快递包裹,已到尚璟瑞府21栋104号门面,询13726410547
第2次正则替换:
(.+)#(.*)(\d+-\d+-\d+)(.*)===$1#$3#$2$3$4
得到
妈妈驿站#1-4-4230#【圆通快递】请凭1-4-4230到尚璟瑞府妈妈驿站领取运单尾号6017包裹,详询13726410547。 菜鸟驿站#0-2-7507#【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639 妈妈驿站#2-2-1521#【妈妈驿站】取货码2-2-1521,您有极兔快递包裹,已到尚璟瑞府21栋104号门面,询13726410547
第3次正则替换:
(.+)#(.+)#(.*)(.{2}快递)(.*)===$1-$2-$4
得到
妈妈驿站-1-4-4230-圆通快递 菜鸟驿站-0-2-7507-中通快递 妈妈驿站-2-2-1521-极兔快递
PS. 正则替换允许填写多条,具体参看 Wiki常见问题
感谢您的回答,我下午没看,一直在研究从接收端来是用Python脚本提取,甚至准备中间做个中专webhook服务器来提取之后转发到接收端。晚上回来看到您的信息,感觉干货满满,立即试验了一下。发现一个小问题:
【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639
这条信息中的收件码是用正则规则后,会变成0-2-7507,我不知道是哪里出了BUG。
from smsforwarder.
感谢您的回答,我下午没看,一直在研究从接收端来是用Python脚本提取,甚至准备中间做个中专webhook服务器来提取之后转发到接收端。晚上回来看到您的信息,感觉干货满满,立即试验了一下。发现一个小问题:
【菜鸟驿站】您的中通快递包裹已到武汉市尚璟瑞府11栋101门店,请20:30前凭10-2-7507取件,详询17612731639
这条信息中的收件码是用正则规则后,会变成0-2-7507,我不知道是哪里出了BUG。
将第二次替换的正则表达式优化一下,再试试
(.+)#(.*?)(\d+-\d+-\d+)(.*)===$1#$3#$2$3$4
PS. 这就是所谓的 正则的贪婪与非贪婪模式,所以一开始就说了,仅供思路参考,正则要你自己去写
from smsforwarder.
Related Issues (20)
- [Suggestion]: 能否通过自动任务实现开机通知功能? HOT 3
- 【建议收集】大家还希望新增哪些发送通道?在此盖楼! HOT 1
- [Bug]: 设置每2小时转发一次短信--每到凌晨0点到早上8点之前 短信就是不转发 短信已经达到SmsForwarder HOT 2
- [Bug]: 天眼查这个号码1068353304500004发来的验证码无法自动转发,其他的转发都没问题 HOT 2
- [suggestion]: 应用通知的转发规则中, 可否简单的在"不包含"的匹配规则中, 设置多个可能的匹配值, 来实现黑名单的效果. HOT 9
- [Bug]: 使用验证码正则后 当前行内容丢失 HOT 3
- [Bug]: 使用Webhook POST提交内容带style样式后续内容会被扔掉 HOT 10
- 【教程收录】SmsForwarder使用教程,在此盖楼!
- [Suggestion]: 丰富一下短信指令 HOT 1
- [Suggestion]: 有没有ios版的
- [Suggestion]: 真心不建议在每次启动应用后启动软件主界面,你作为一个短信转发工具,没必要,你又不是像launch3一样的桌面软件 HOT 9
- [Suggestion]: 在创建自动任务的条件“到达地点”和“离开地点”中,允许其中需要填写的任何输入框留空和焦点脱离 HOT 2
- [Suggestion]: 自动任务 条件 充电状态中出现不合适的文本引用 HOT 1
- [Suggestion]: 增加快捷指令动作组功能 增加快捷指令条件逻辑或功能 允许部分动作重复使用
- [Suggestion]: 主界面 通用设置 打开“发现蓝牙设备服务”时,如果蓝牙服务未开启所出现不合适的文本引用 HOT 1
- [Suggestion]: 应用转发顶部包名动态定义为消息来源 HOT 4
- [Bug]: 远程接口发短信报错
- [Bug]: realme手机,系统是realme UI 3.0,权限配置正常,无法转发短信
- [Suggestion]: 能不能转发彩信?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smsforwarder.