Это немного выдвигает грань, но у меня есть следующая ситуация с этим регулярным выражением - "()": Когда используется для разбиения строки в массив string [], результаты мне несколько странны. Например, эта строка кода:
string[] res = new Regex("()").Split("hi!");
устанавливает res
в массив из 9 (!) Элементов: ["", "", "h", "", "i", "", "!", "", ""]
Я ожидаю, что вместо этого будут возвращены эти 5 элементов: ["h", "", "i", "", "!" ].
Причина, по которой мне нужен этот конкретный результат, заключается в совместимости с другой библиотекой регулярных выражений ...
У меня такой вопрос, может ли это быть из-за некоторых отсутствующих опций объекта регулярного выражения или из-за проблемы кодирования или подобного ... Или оно определено каким-то образом и определенно правильно оно должно работать? Кроме того, есть ли способ заставить его вернуть второй (ожидаемый) результат вместо этого?