腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

[其他] 利用正则表达式RegExp对象,成批量地判断电子邮箱格式是否正确

2
回复
1946
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33025
发表于 19-4-18 20:07:35 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                                                   
本示例是在A列中存放了大量的未经洗濯的电子邮箱,用创建的正则表达式函数MyExp将处置处罚后的数据存放在在第二列 ... ...
*假如您想要示例中的原始文件,没得啥子标题,发送"MODEL+您的电子邮箱+20140422"给我,我把原始文件邮件给您,20140422是代表我2014.4.22日发送的案例。
0.jpg 1 N- X9 S6 F" M
仍然是老调重弹了,引用非常告急,没有对"Microsoft VBScript Regular Expressions 5.5"的引用,复制的源码运行不了是最常见的征象了...
示例代码 :
Sub JuEmail() '判断电子邮箱的格式是否准确
% g' \, [6 u; D  E. ADim I As Long2 G1 i; S) U+ o6 n( a3 T8 a1 r, v

) q2 [6 Q% |, z# Z, J; O; ^$ G3 {For I = 2 To 100 '根据必要设置,大概用类似ThisWorkbook.ActiveSheet.Range("a60000").End(xlUp).Row如许的语句来判断末了一行单位格的行数目3 q# v9 d0 R! s- _* i; i. Z$ I
Cells(I, 2).Value = MyExp(Cells(I, 1).Value)'调用正则表达式函数
  E5 j3 W! [) X5 S% G5 y6 TNext
  @) l' z6 A1 s* i% Y% DEnd Sub
'-----------函数
'添加对正则表达式的引用: 菜单"工具"---"引用"--"Microsoft VBScript Regular Expressions 5.5") l8 w5 L& Y8 r0 N; a2 W
  1. Function MyExp(MyStr As String) As String
    4 C; U1 x& f. N. ]

  2. 4 m2 X6 q9 D. V1 A% f% _
  3. Dim MyReg As New RegExp5 F! A( n% c3 G/ N6 ^
  4. Dim Mcl As MatchCollection: z: A  \6 B+ w- S
  5. 5 o2 ^- L6 M4 P- N5 ^4 o8 w
  6. With MyReg/ D  [6 p8 L  k4 c5 E: w
  7. .Global = True '在整个搜索字符串时模式是全部匹配照旧只匹配第一个0 k9 s; V) ?8 o1 Z; C/ L
  8. .IgnoreCase = True '指明模式搜索是否区分巨细写
    ) O; j/ m" l) q0 ~+ y  F$ |
  9. .Pattern = "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" '设置或返回被搜索的正则表达式模式
    6 A/ q; ?9 H1 l2 ?
  10. End With
    0 m; f1 ~% K/ B# I* {' }3 W

  11. % R7 ?  e8 f7 i  ?* l
  12. Set Mcl = MyReg.Execute(MyStr)7 b3 U$ ?: w  g5 B5 U
  13. If Mcl.Count = 1 Then7 t& y! A) x, a7 D+ `( B7 f- v
  14. MyExp = "T"
    ( o/ ]* a' ?7 B' s, M: @2 I
  15. Else
    & u5 F  Y  {/ V0 C& A
  16. MyExp = "F"
      [+ M: z' x7 s; E" K; i* A
  17. End If0 s0 h7 U. E  z% f

  18. / `5 J. @: [1 ^) t+ v+ ^# @4 t3 e0 v
  19. End Function
复制代码
                  
, f; X" ^0 b) t0 _                        

0

主题

8

帖子

20

积分

1°伸手党

Rank: 2

积分
20
发表于 19-10-10 04:01:37 | 显示全部楼层         
我抢、我抢、我抢沙发~
回复

使用道具 举报

0

主题

11

帖子

2

积分

1°伸手党

Rank: 2

积分
2
发表于 20-1-3 01:21:53 | 显示全部楼层         
好好 学习了 确实不错
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除