Imports System
Imports System.Text.RegularExpressions
Public Class Test
Public Shared Sub Main()
Dim pattern As String = "(\w+)\((?:\((\d+)\))*\)"
Dim text As String = "(abc())(def((123)(456))(klm((123))"
Dim matches As MatchCollection = System.Text.RegularExpressions.Regex.Matches(text, pattern)
For Each m As Match In matches
Console.WriteLine("Match: " & m.Groups(1).Value)
For Each g As Capture in m.Groups(2).Captures
Console.WriteLine("Capture: " & g.Value)
Next
Next
End Sub
End Class
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKClB1YmxpYyBDbGFzcyBUZXN0CglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkgCgkJRGltIHBhdHRlcm4gQXMgU3RyaW5nID0gIihcdyspXCgoPzpcKChcZCspXCkpKlwpIgoJCURpbSB0ZXh0IEFzIFN0cmluZyA9ICIoYWJjKCkpKGRlZigoMTIzKSg0NTYpKShrbG0oKDEyMykpIgoJCURpbSBtYXRjaGVzIEFzIE1hdGNoQ29sbGVjdGlvbiA9IFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleC5NYXRjaGVzKHRleHQsIHBhdHRlcm4pCgkJRm9yIEVhY2ggbSBBcyBNYXRjaCBJbiBtYXRjaGVzCgkJICAgIENvbnNvbGUuV3JpdGVMaW5lKCJNYXRjaDogIiAmIG0uR3JvdXBzKDEpLlZhbHVlKQoJCSAgICBGb3IgRWFjaCBnIEFzIENhcHR1cmUgaW4gbS5Hcm91cHMoMikuQ2FwdHVyZXMKCQkgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJDYXB0dXJlOiAiICYgZy5WYWx1ZSkKCQkgICAgTmV4dAoJCU5leHQKCQkKCUVuZCBTdWIKRW5kIENsYXNz