Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式以获取行内容_C#_Regex - Fatal编程技术网

C# 正则表达式以获取行内容

C# 正则表达式以获取行内容,c#,regex,C#,Regex,我想在以下内容之间获得一行内容:直到\r\n,我尝试了以下操作: string texto = @"From: .... blabla bla Message: blablabalab //linha em branco From: .... blabla bla Message: blablabalab //linha em Branco From: .... blabla bla Message: blablabalab";

我想在以下内容之间获得一行内容:直到\r\n,我尝试了以下操作:

    string texto = @"From: .... blabla bla
    Message: blablabalab

    //linha em branco
    From: .... blabla bla
    Message: blablabalab

    //linha em Branco
    From: .... blabla bla
    Message: blablabalab";

   string[] lines = Regex.Split(texto, "From:\\s+\\rn");

谢谢

您要查找的模式是@From:.*?\r\n。此外,您还需要使用Regex.Match而不是Regex.Split:

如果要获取所有From,也可以使用Regex.Matches:

string[] froms = Regex.Matches(s, @"From:(.*?)\r\n")
                      .Cast<Match>()
                      .Select(m => m.Value)
                      .ToArray();

您要查找的模式是@From:.*?\r\n。此外,您还需要使用Regex.Match而不是Regex.Split:

如果要获取所有From,也可以使用Regex.Matches:

string[] froms = Regex.Matches(s, @"From:(.*?)\r\n")
                      .Cast<Match>()
                      .Select(m => m.Value)
                      .ToArray();
您应该使用From:*$ $是以C正则表达式引擎结尾的行的默认符号

您可以从以下位置阅读有关C中正则表达式的更多信息:*$ $是以C正则表达式引擎结尾的行的默认符号


你可以阅读更多关于C中正则表达式的内容,它允许使用管道吗?我试过字符串texto=@|0140|XX|0150|TEST | TEST | 0150|TEST | TEST |;字符串[]pedacos=Regex.Matchestexto,@|0150 |。*?\r\n.Cast.Selectm=>m.Value.ToArray@user3739007管道字符在正则表达式中具有特殊含义。如果要使用它搜索角色,则需要对其进行转义。e、 它不允许使用管道吗?我试过字符串texto=@| 0140 | XX | 0150 | TEST | TEST | 0150 | TEST | TEST |;字符串[]pedacos=Regex.Matchestexto,@|0150 |。*?\r\n.Cast.Selectm=>m.Value.ToArray@user3739007管道字符在正则表达式中具有特殊含义。如果要使用它搜索角色,则需要对其进行转义。e、 g\|