Imports System
Imports System.Text.RegularExpressions
Public Class Test
Public Shared Sub Main()
Dim i As Integer
Dim pattern As String = "(?<=\()[a-z]+(?=\((?:\((\d+)\))?(?:\((\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
i = 0
For Each g As Group in m.Groups
If i = 0 Then
Console.WriteLine("Match: " & g.Value)
ElseIf i > 0 and g.Value <> "" Then
Console.WriteLine("Group " & i & ": " & g.Value)
End If
i = i + 1
Next
Next
End Sub
End Class
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKClB1YmxpYyBDbGFzcyBUZXN0CglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkgCgkJRGltIGkgQXMgSW50ZWdlcgoJCURpbSBwYXR0ZXJuIEFzIFN0cmluZyA9ICIoPzw9XCgpW2Etel0rKD89XCgoPzpcKChcZCspXCkpPyg/OlwoKFxkKylcKSk/XCkpIgoJCURpbSB0ZXh0IEFzIFN0cmluZyA9ICIoYWJjKCkpKGRlZigoMTIzKSg0NTYpKShrbG0oKDEyMykpIgoJCURpbSBtYXRjaGVzIEFzIE1hdGNoQ29sbGVjdGlvbiA9IFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleC5NYXRjaGVzKHRleHQsIHBhdHRlcm4pCgkJRm9yIEVhY2ggbSBBcyBNYXRjaCBJbiBtYXRjaGVzCgkJCWkgPSAwCgkJICAgIEZvciBFYWNoIGcgQXMgR3JvdXAgaW4gbS5Hcm91cHMKCQkgICAgCUlmIGkgPSAwIFRoZW4KCQkgICAgCQlDb25zb2xlLldyaXRlTGluZSgiTWF0Y2g6ICIgJiBnLlZhbHVlKQoJCSAgICAJRWxzZUlmIGkgPiAwIGFuZCBnLlZhbHVlIDw+ICIiIFRoZW4KCQkJICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiR3JvdXAgIiAmIGkgJiAiOiAiICYgZy5WYWx1ZSkKCQkJICAgIEVuZCBJZgoJCQkgICAgaSA9IGkgKyAxCgkJICAgIE5leHQKCQlOZXh0CglFbmQgU3ViCkVuZCBDbGFzcw==