编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

EXCEL正则表达式中的或(正则表达式的exec方法)

wxchong 2024-08-03 03:05:52 开源技术 52 ℃ 0 评论

前面一节中我们讲过在正则表达式中 a|b 表示匹配a或者是b,同样 [ab]

也表示匹配a或者b,而非匹配ab。


[0-9]表示匹配0-9中任意一个数字,[234]表示匹配2或者是3或者是4.


也就是说表达或的关系 可以用“|”,也可以用[]。


下面我们看下具体的例子:



左边单元格中的数据以空格区分,希望根据空格拆分到右边的单元格。


代码:

Sub 拆分()

Dim regx As Object, rng As Range, mat, m, n%

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True

.Pattern = "[0-9]+"

For Each rng In [a1:a6]

Set mat = .Execute(rng)

For Each m In mat

n = n + 1

Cells(rng.Row, n + 1) = m

Next

n = 0

Next

End With

End Sub


.Pattern = "[0-9]+"表示匹配0-9的之间的任意一个数字,“+”号表示匹配数字一次或者是多次,这样就把每个以空格分割开的数字全匹配出来。


当然我们也可以写成 .Pattern = "\d+"。


[0-9a-zA-z]表示从0-9任意数字、a到z任意字母,或者A到Z任意字母。

转自:米宏Office

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表