Just put the pattern into a capture-group, and the matches will also be included in the result.
string[] result = Regex.Split("123.456.789", @"(\.)");
Result:
{ "123", ".", "456", ".", "789" }
This also works for many other languages:
- JavaScript:
"123.456.789".split(/(\.)/g)
- Python:
re.split(r"(\.)", "123.456.789")
- Perl:
split(/(\.)/g, "123.456.789")
(Not Java though)