正则表达式之字符组
Posted 鹏哥工作室之office
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之字符组相关的知识,希望对你有一定的参考价值。
先来看一个案例:
如上图:序号和后面的标题写在了一起,有的序号是一位数字,有的是两位数字,有的是三位数字,还有五位数字的。另外,序号和标题之间有的是顿号连接、有的是冒号连接,有的是空格,还有的没有任何分割符号直接连接在一起的。现在需要把后面的标题提取出来。
根据我们前面几节学习的知识,我们只要利用一个表达式把标题前面的数字和分割符号匹配出来,然后替换为空白就可以了。
元字符“\d”表示数字,数字位数不确定,我们用量词“+”来匹配多位数字,这样数字部分就可以匹配出来了。
数字与标题之间的空格、冒号、顿号怎么表示呢?
我们可以用[ :、]来表示,类似[a-z]表示a到z的字母,[123]表示1或者2或者3,这样的表达方式就叫字符组,由一些字符组成一个集合,表示匹配该集合中任意一个字符。
因为有的序号和标题之间直接相连,所以我们用“\d+[ :、]?”,量词?表示出现0次或1次,出现0次就代表啥都没有,也就是序号和标题直接相连的情况。
上面的案例代码如下:
Sub 拆分()
Dim regx As Object, rng As Range, n
Set regx = CreateObject("vbscript.regexp")
With regx
.Global = True
.Pattern = "\d+[、: ]?"
For Each rng In [a1:a12]
n = n + 1
Cells(n, 2) = .Replace(rng, "")
Next
End With
End Sub
字符组在前几节的内容中也出现过,在这节我们提了下它的概念,让大家知道到底是个啥玩意。
今天的分享就到这里了!
后台回复下列红色关键词可以获取相关资源:
1、office365, office 365, 365,可以获取office365版本
2、excel学习, Excel学习,可以获取相关的学习资料
3、VBA学习,可以获取相关的学习资料
4、excel扩展,可以获取excel扩展工具,能让excel更加高效方便的工作
5、百度云破解限速,可以获取相关软件
6、PPT模板, ppt模板,可以获取相关资源
7、快查手册,可以获取函数快查手册
8、微信清粉, 清粉,可以获取微信僵尸粉清理软件
注意是后台回复,不是留言区回复,而且回复的关键字必须跟上面的关键字一样,注意大小写,空格之类。
长按识别下方二维码关注,
后台菜单中有更多精彩内容等着你!
苹果用户可通过下方二维码赞赏!
觉得不错请点赞!!!
以上是关于正则表达式之字符组的主要内容,如果未能解决你的问题,请参考以下文章