'原子分组阻止回溯进入分组内部
Sub 原子组()
' `(?>...)` - 原子分组
' `(*atomic:...)` - Perl 5.28 引入的字母形式
reg.Pattern = "(?>[a-z]*)\d+"
Set mc = reg.Execute("abc123def")
Debug.Print mc(0).Value '原子组匹配abc,然后\d+匹配123,输出abc123
reg.Pattern = "(?>a*)a"
Set mc = reg.Execute("aardvark")
Debug.Print mc.Count '原子分组消耗所有a,然后外层的a无法匹配,输出为空
End SubCopyright © 2025- vba.vip All Rights Reserved.