【Excel VBA 编程】第57讲:掌握这6种量词用法,你的正则表达式才算入门

正则表达式的精髓在于精准控制,而量词就是实现这一目标的魔法棒,如何正确挥动手中的魔法棒呢?一文教会大家

零次或一次匹配

正则表达式中,问号 (?) 作为一个量词,主要功能是表示其前面的字符或子表达式可以出现 "零次" 或 "一次" ,相当于{0,1}

例如,在文本中检索“颜色”这个单词,英文中有两种写法:color和  colour都是正确的,此时使用问号(?) 这一量词就非常适合

    Dim item    ' 创建正则表达式对象    With CreateObject("VBScript.RegExp")        .Global = True ' 搜索全部匹配项        .IgnoreCase = False ' 区分大小写        .Pattern = "colou?r"        For Each item In .Execute("color, this is a pretty colour! light color ")            Debug.Print item        Next    End With

因为这个单词两种写法的主要区别是字母“u”,也就是说字母“u”出现“零次”或是“一次”都可以,所以此处的匹配规则可以写成.Pattern = "colou?r"或者也可以写成.Pattern = "colou{0,1}r"

以上代码执行后结果如下:

将文本“color, this is a pretty colour! light color ”中“颜色”这个单词的两种写法全部检索出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wei1019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值