У меня есть строка вроде следующего:
[Testing.User]|Info:([Testing.Info]|Name:([System.String]|Matt)|Age:([System.Int32]|21))|Description:([System.String]|This is some description)
Вы можете посмотреть на это как на это дерево:
- [Testing.User]
- Info
- [Testing.Info]
- Name
- [System.String]
- Matt
- Age
- [System.Int32]
- 21
- Description
- [System.String]
- This is some description
Как вы можете видеть, это строковая сериализация/представление класса Testing.User
Я хочу иметь возможность сделать split и получить следующие элементы в результирующем массиве:
[0] = [Testing.User]
[1] = Info:([Testing.Info]|Name:([System.String]|Matt)|Age:([System.Int32]|21))
[2] = Description:([System.String]|This is some description)
Я не могу разделить на |
, потому что это приведет к:
[0] = [Testing.User]
[1] = Info:([Testing.Info]
[2] = Name:([System.String]
[3] = Matt)
[4] = Age:([System.Int32]
[5] = 21))
[6] = Description:([System.String]
[7] = This is some description)
Как я могу получить ожидаемый результат?
Я не очень хорошо разбираюсь в регулярных выражениях, но я знаю, что это очень возможное решение для этого случая.