已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 请教大佬正则问题

作者: @Ta

时间: 2020-06-11发布,2020-06-12修改

点击: 4373

看到手机短信中验证码类的短信被收集到了一块,并且提取出了验证码内容展示给用户,于是乎自己写了写正则,规则如下:

1.短信中包含验证码三个字符
2.验证码为4到多位字母,数字或字母数字混合格式

var reg = /(?<=(?:.*验证码.*))[a-zA-Z0-9]{4,}|[a-zA-Z0-9]{4,}(?=(?:.*验证码.*))/


对于上面自己写的正则疑问有如下两点:

1.如果碰到像2345浏览器这种短信验证,其中出现2345这种非验证码字串该怎么办

2.原子组不是有默认编号吗,有重复匹配规则不是可以用 \1 \2 来代替吗,为啥我改成如下格式就不行了

var reg = /(?<=(?:.*验证码.*))([a-zA-Z0-9]{4,})|\2(?=\1)/


分享一个讲正则特别棒的视频:B站搜后盾人


[隐藏样式|查看源码]


『回复列表(12|隐藏机器人聊天)』

2. 习惯性@穴儿
(/@Ta/2020-06-11 13:37//)

3. @o,带上工兵铲铲,即刻出发
(/@Ta/2020-06-11 13:38//)

4.
习惯性@穴儿 
yourTail
(/@Ta/2020-06-11 16:15//)

5. 习惯性@穴儿



 来来来,py交易啊
(/@Ta/2020-06-11 16:39//)

6.

@蛋黄派@虎老会泳游@梦浪的小虾米,打屎在座的各位。。

- - blog:LDXW.TOP
(/@Ta/2020-06-11 18:29//)

8.

最后条正则不存在\2吧,,,
正则也不能判断数字是否是连续的,肯定要用程序,,要不你给来个集合(?!.*(1234|2345|3456))这样的,,所有可能都列出来。。

我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

(/@Ta/2020-06-12 18:41//)

9. @乄杺,可以匹配连续数字啊,匹配不成功会返回null
(/@Ta/2020-06-12 20:03//)

10. 那就只能例外匹配了
(/@Ta/2020-06-13 00:21//)

11.

很多匹配规则和排除规则,一点一点积累下来的
huawei mate 20pro

(/@Ta/2020-06-13 21:27//)

12. 你这思路首先就不对,因为短信首先对号码进行判断了,无法判断的再对信息内容判断,比如包含了“验证码”等字眼的信息,最后再提取内容,肯定会做上下文理解的,现在都是ai时代了
(/@Ta/2020-06-14 00:46//)

13. @echo醉老仙,我已经测试了。。。起码MIUI是不对手机号验证,只要内容出现验证码字眼,并且内容中有字母数字混合或者纯字母和纯数字都会提取为验证码
(/@Ta/2020-06-14 01:26//)

14. @蛋黄派,miui就这样的,其他手机比如ov就强的多,另外就是现在短信都对服务号码进行归档处理,就说明是对号码进行了识别的,不可能不识别
(/@Ta/2020-06-16 00:46//)

回复需要登录

7月1日 05:56 星期二

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1