VBA中正则表达式之首尾锚定

论坛 期权论坛 期权     
米宏Office   2019-7-7 23:58   2888   0
我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!

何谓首尾锚定,听起来好像很深奥,其实也就是个专业术语,直白点说就是确定字符串开始位置和结束位置的字符或者字符类型。


在正则表达式中确定开始位置字符或者其类型要用脱字符“^”,确定结束位置字符或者其类型要用“$”。


比如下面的例子:





对A列数据进行筛选。


一、以编号开始的数据:

代码如下:

  1. Sub 提取()
复制代码
  1. Dim regx As Object, rng As Range, n%
复制代码
  1. Set regx = CreateObject("vbscript.regexp")
复制代码
  1. With regx
复制代码
  1.     .Global = True
复制代码
  1.     .Pattern = "^编号"
复制代码
  1.     For Each rng In [a2:a16]
复制代码
  1.         If .test(rng) Then
复制代码
  1.              n = n + 1
复制代码
  1.             Cells(n + 1, 2) = rng
复制代码
  1.         End If
复制代码
  1.     Next
复制代码
  1. End With
复制代码
  1. End Sub
复制代码
向右滑动可以查看完整代码

二、以数字结束的数据

代码不再赘述,跟上面的一样,正则表达式部分:
.Pattern = "\d+$"

三、以编号开始,以数字结束


代码不再赘述,跟上面的一样,正则表达式部分:
.Pattern = "^编号.+\d+$"
以编号开始,中间“.”号代表任意字符,后面以数字结束。


这就是所谓的首尾锚定,学了这节课,对字符串的匹配,我们又多了一个武器。

学习技术,提升工作效率。
从基础操作到VBA,
两杯咖啡的钱,
换取一份如此详细的Excel视频资料,
你还在犹豫?
欲购从速,联系微信号:527240310
非诚勿扰!
每天进步一点,每天提升一点!
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:75
帖子:15
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP