正则技巧:描述清楚规则,少用.*?

发布时间:2019-10-31编辑:脚本学堂
正则技巧:描述清楚规则,少用.*?

数据源:,aaacccbbb, aadg, abcdzyxw, acbyyjia, achengsz, acongcong, aadg, adcamilk, admirably, admrty, adongge, advwang,
对于上面这堆id,要求找出重复的id,实际可能很大,几千几万个,我先用正则“(,.*?,).*?/1”,发现执行得很慢很慢,到最后几乎死机了,然后修改为“(,/s[^,]+?,).+?/1”,发现速度快了好多倍,实际测试是用4000个id。

再举个例子,就是给邮箱发广告,如果给同一个邮箱发了两封相同的肯定会引起别人的厌恶,这样就需要检查准备发送广告的邮箱是否存在相同的邮箱。
数据源:,mediacrash@sbcglobal.net,fox_lgjckd@kurzepost.de,worldswalker@gmail.com,
用以下表达式检测即可:
(/b[^@,/s]+@[^@,/s]+/b)[/s/S]+?/1