龙空技术网

EXCEL正则表达式中的或

DM逐梦 181

前言:

如今你们对“正则表达式中的和的区别是什么”大体比较注重,兄弟们都需要学习一些“正则表达式中的和的区别是什么”的相关文章。那么小编在网络上汇集了一些关于“正则表达式中的和的区别是什么””的相关资讯,希望同学们能喜欢,你们一起来学习一下吧!

前面一节中我们讲过在正则表达式中 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

标签: #正则表达式中的和的区别是什么