Один из вариантов - использовать Split
метод [String]
"(3)_(9)--(11).(FT-2)".Split('()')
Другой вариант - сопоставить все, кроме (
и )
В качестве регулярного выражения этобудет делать [^()]+
разбивка
"[^()]" ' Match any single character NOT present in the list “()”
"+" ' Between one and unlimited times, as many times as possible, giving back as needed (greedy)
Вы можете использовать следующий блок кода для извлечения всех совпадений
Try
Dim RegexObj As New Regex("[^()]+", RegexOptions.IgnoreCase)
Dim MatchResults As Match = RegexObj.Match(SubjectString)
While MatchResults.Success
' matched text: MatchResults.Value
' match start: MatchResults.Index
' match length: MatchResults.Length
MatchResults = MatchResults.NextMatch()
End While
Catch ex As ArgumentException
'Syntax error in the regular expression
End Try