正则表达式正确分裂

Dan*_*ana 2 c# regex split

我有一个字符串,其中包含数字和其他字符,如:123\n456? * ,, ;;; '' 333\n789/\\+-我试图只将数字作为数组得到

123
456
333
789
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西

serials = Regex.Replace(serials, @"\r\n?|\n|\t", " ");

var serialNumbers = Regex.Split(serials, @"(?<!($|[^\\])(\\\\)*?\\);");
Run Code Online (Sandbox Code Playgroud)

但我的阵列有类似的东西

123 456? * ,, 
empty
empty
 '' 333 789/\\+-
Run Code Online (Sandbox Code Playgroud)

有没有办法正确拆分这个字符串?

Dmi*_*nko 6

尝试匹配,而不是拆分(即从字符串中提取数字):

 string[] numbers = Regex
   .Matches(source, "[0-9]+")
   .OfType<Match>()
   .Select(match => match.Value)
   .ToArray();
Run Code Online (Sandbox Code Playgroud)

如果你坚持分裂它可以

 string[] numbers = Regex
   .Split(source, "[^0-9]+");
Run Code Online (Sandbox Code Playgroud)

这更紧凑,但可能不太可读.