分享

正则表达式中的或

 L罗乐 2018-04-19



也表示匹配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任意字母。


今天的分享就到这里了!


想更深入的学习视频教程,请进入公众号后台菜单中了解详情!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多