原子组

当前位置:首页>正则>原子组

原子组

'原子分组阻止回溯进入分组内部
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 Sub