请教一个正则表达式,用于写捷径,拜谢!

2021-12-10 16:59:34 +08:00
 yyingx

[菜鸟驿站] 您的韵达包裹已到店,请 21:30 前凭 66-4-2038 取件,详询 18971452195

[快递超市] 中通快递请凭 633840 芙蓉兴盛内取件,有事请电联 15327419396

[快递超市] 你的圆通快递超市请凭提货码 30165 于晚 11 点前取件,有事电联 18971482527


提取上面三个取件码
66-4-2038
633840
30165

2359 次点击
所在节点    问与答
33 条回复
nowheretoseek
2021-12-10 17:05:27 +08:00
[ \d[\d\-]{3,7}\d ]

[] 起包裹作用, [后和] 前各有一个空格
ytpfxnj
2021-12-10 17:18:58 +08:00
yyingx
2021-12-10 17:30:11 +08:00
@nowheretoseek #1 谢谢!
yyingx
2021-12-10 17:32:32 +08:00
@ytpfxnj #2 这个可能是我想要的答案,已“凭”为基准才找。
zooo
2021-12-10 20:10:00 +08:00
lz 你把电话号码都暴露。。。了
ysc3839
2021-12-10 21:01:59 +08:00
我反对 #2 的方案。这几条的共同点是“凭”字跟取件码之间有任意不是数字的字符,所以我的方案是
```
凭[^\d]*([\d-]+)
```
V2EX 可能会给中文和符号之间加上空格,实际上“凭”字后面不应该包含空格,应该直接接 "[" 符号
ETiV
2021-12-10 21:49:35 +08:00
我突然想整一个正则处理,
就像打验证码平台那样的…
elfive
2021-12-10 21:52:43 +08:00
为啥我现在收到的短信都不包含取件码了,直接让我扫码了……
https://s2.loli.net/2021/12/10/tEcik4qFKhXSJ5m.jpg?width=1125&height=306
yyingx
2021-12-10 22:01:00 +08:00
@elfive #8 我这边圆通是这样的
yyingx
2021-12-10 22:01:36 +08:00
@zooo #5 好像也不好,那是站点的电话
yyingx
2021-12-10 22:06:25 +08:00
@ysc3839 #6 喜欢你这种坦率,百花齐放
我一会把这两个都验证一下。
yyingx
2021-12-10 22:18:05 +08:00
yyingx
2021-12-10 22:35:18 +08:00
@ysc3839 #6 不得不服二楼呀,同时再次谢谢你。https://s2.loli.net/2021/12/10/kjXURhvwKe8TcBW.jpg?width=828&height=992
mgso
2021-12-10 22:55:25 +08:00
(?<=凭[^\d]+)\d+[\d\-]+
xinghen57
2021-12-11 08:39:59 +08:00
regex: 凭[^\d]*(\d+(\d-)*\d+)[^\d]

效果如下:
https://s2.loli.net/2021/12/11/Tf81jCdlIqhLoGm.png
yyingx
2021-12-11 09:16:44 +08:00
@xinghen57 #15 谢谢,返回值不能有 凭
yyingx
2021-12-11 09:17:07 +08:00
@mgso #14 谢谢,貌似不合法
xinghen57
2021-12-11 09:18:12 +08:00
@yyingx …你再提取一下,$1
怀疑你是来炸解决方案的
xinghen57
2021-12-11 09:36:56 +08:00
yyingx
2021-12-11 10:00:19 +08:00
@xinghen57 #19 我是来学习了,有点伸手党了,怪不好意思。
实在是没基础。谢谢你了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821382

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX