GithubHelp home page GithubHelp logo

Comments (4)

pppscn avatar pppscn commented on June 26, 2024 1

实在写不出一条通吃的正则表达式,难道就不能分步进行吗?

工具是死的,人是活的啊,只要**不滑坡,办法总比困难多!

【注意】以下仅供思路参考,不保证正则表达式严谨,不保证能适配各种各样的短信格式,请自行根据实际情况微调:

第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.

kyeo-hub avatar kyeo-hub commented on June 26, 2024 1

说实话自己这方面的知识确实不足。
感谢你的付出与启示,已打赏10元,尽我绵薄之力,心怀感激!

from smsforwarder.

kyeo-hub avatar kyeo-hub commented on June 26, 2024

实在写不出一条通吃的正则表达式,难道就不能分步进行吗?

工具是死的,人是活的啊,只要**不滑坡,办法总比困难多!

【注意】以下仅供思路参考,不保证正则表达式严谨,不保证能适配各种各样的短信格式,请自行根据实际情况微调:

第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.

pppscn avatar pppscn commented on June 26, 2024

感谢您的回答,我下午没看,一直在研究从接收端来是用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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.