正则表达式的基础语法

Posted 鹏哥工作室之office

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式的基础语法相关的知识,希望对你有一定的参考价值。


正则表达式的基础语法

正则表达式的基本概念及用途了解之后,我们就来学习下具体的语法,先以一个简单的例子来讲解。


基础语法:


比如,A1单元格中有一串字符:aabbccddaabbcc,我们要把其中的a找到,然后替换成o。


代码如下:

Sub test()

Dim regx As Object, t$, k, s, n

t = "aabbccddaabbcc"

Set regx = CreateObject("vbscript.regexp")'引用正则表达式

regx.Global = True '查找范围,true为全部查找,false只查找第一个,默认是false。

regx.Pattern = "a" '引号里书写正则表达式,这里要查找a,就直接写个a


Set k = regx.Execute(t) 'Execute方法的结果为一个对象,返回匹配成功的结果。


For Each s In k '通过循环K可以得到该对象中的每个元素。

MsgBox s

Next


n = regx.Replace(t, "o") '将匹配成功的结果做替换

MsgBox n

End Sub


上面的代码后面都有注释,首先要引用正则表达式,前期绑定也可以,直接创建也可以,然后要对regexp的两个属性做出指定。


Global属性,指查找范围,true为全部查找,false只查找第一个,如果上面案例中其属性改为false,那么只要该字符串中查找第一个a。


Pattern属性,指的是正则表达式。


下面讲下正则表达式的两个方法:


Execute方法,返回匹配成功的结果,是一个对象,通过for each 可以循环其中的值。


Replace方法,将匹配的结果做替换,regx.Replace(t, "o"),t为原字符串,第二个参数为要替换为的结果。


普通字符的替换:


了解了基础的语法之后,我们来看下如何用正则对普通的字符做替换。


正则表达式的基础语法


如上例中,把A列部门中的门字去掉。

思路:

对A列部门循环,循环出来的值用正则表达式匹配门字,并把匹配的结果替换成空。

代码如下:

Sub test1()

Dim regx As Object, rng1 As Range

Set regx = CreateObject("vbscript.regexp")

With regx

    .Global = True

    .Pattern = "门"

End With

For Each rng1 In Range("a2:a11")

     rng1(1, 2).Value = regx.Replace(rng1.Value, "")

Next

End Sub


这里注意regexp的两个属性可以用with语法来书写,这样显得简洁明了。当然这节课我们只是对正则表达的基础语法做了个了解,正则表达是真正的魅力在Pattern = "……",引号中的表达式,后面的课程中我们会体会到他的强大之处。


今天的分享就到这里了!


正则表达式的基础语法


后台回复下列红色关键词可以获取相关资源:

1、office365, office 365, 365,可以获取office365版本

2、excel学习Excel学习,可以获取相关的学习资料

3、VBA学习可以获取相关的学习资料

4、excel扩展,可以获取excel扩展工具,能让excel更加高效方便的工作

5、百度云破解限速,可以获取相关软件

6、PPT模板ppt模板,可以获取相关资源

7、快查手册,可以获取函数快查手册

8、微信清粉清粉可以获取微信僵尸粉清理软件

注意是后台回复,不是留言区回复,而且回复的关键字必须跟上面的关键字一样,注意大小写,空格之类。

正则表达式的基础语法

长按识别下方二维码关注,

后台菜单中有更多精彩内容等着你!

苹果用户可通过下方二维码赞赏!


觉得不错请点赞!!!

以上是关于正则表达式的基础语法的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式基础语法

python正则表达式---正则表达式基础

正则表达式理论基础

正则表达式一基础语法

正则表达式基础---转自 Python正则表达式指南 前边

正则表达式的基础语法