C# 正则表达式分裂

C# 正则表达式分裂,c#,regex,split,C#,Regex,Split,我想实现将文本块拆分为子字符串的函数。 拆分的条件是,每个块必须以行的第一个位置上的数字开始 例如: 迈克病了,但他去上学了 蜜蜂在我家附近筑巢 StackOverflow非常有用 这是我的代码: private static string[]SplitStringOnBlocks(string text) { string pattern = @"^d"; Regex rgx = new Regex(pattern); return r

我想实现将文本块拆分为子字符串的函数。 拆分的条件是,每个块必须以行的第一个位置上的数字开始

例如:

  • 迈克病了,但他去上学了
  • 蜜蜂在我家附近筑巢
  • StackOverflow非常有用
  • 这是我的代码:

     private static string[]SplitStringOnBlocks(string text)
        {
            string pattern = @"^d";
            Regex rgx = new Regex(pattern);
            return rgx.Split(text);              
    
        }
    

    但是它不会分割文本

    您的模式是错误的。您需要将
    d
    转义为
    \d
    ,并且需要启用多行

    正确模式:

    将regex的创建更改为:
    newregex(pattern,RegexOptions.Multiline)

    它返回什么?整个字符串/文本?它返回它所执行的整个字符串。这是一个编号问题列表,数字与
    \d
    @“^\d”
    匹配。你需要的输出是什么?根据公认的答案判断,操作码中有一个输入错误-我建议结束这个问题。我不相信这会“如预期”起作用。但是,预期的行为尚未定义:)@vortexture:它为什么工作?它删除了数字。请检查。@Stribizev如果vortexture不想分割数字,他可以用换行符分割。我认为(但我不确定)把它们分开是可以的。@Verarind:我投票结束了这个问题,因为所有未来的读者都不清楚,而且——从你的答案被接受的事实来看——操作码中只有一个打字错误。