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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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,我尝试在字符串中选择多个匹配项,如下所示: 123 废话 结束 45 废话 结束 理想情况下,我希望它返回两个匹配项,以数字序列开始,以结束字符串结束。我正在使用以下工具: Regex splitter = new Regex(@"^\d{2,3}(.*)END", RegexOptions.Singleline); foreach (Match res in splitter.Matches(content)) { Console.WriteLine(res.ToString()); }

我尝试在字符串中选择多个匹配项,如下所示:

123
废话
结束
45
废话
结束

理想情况下,我希望它返回两个匹配项,以数字序列开始,以结束字符串结束。我正在使用以下工具:

Regex splitter = new Regex(@"^\d{2,3}(.*)END", RegexOptions.Singleline);
foreach (Match res in splitter.Matches(content))
{
   Console.WriteLine(res.ToString());
}

但是,上面的模式在一次匹配中返回整个输入字符串。我觉得这与“单线”选项有关。我做错了什么?

*
量词更改为惰性形式(使用
(.*)
语法)。此时,它试图匹配字符串中尽可能多的符号,当然,它成功地匹配了,因为有几个块以
END
结尾


添加
后,引擎将尝试使用尽可能少的符号匹配模式,在遇到第一个端点之前完成
(.*?
匹配。

*
量词更改为惰性形式(使用
(.*?
语法)。此时,它试图匹配字符串中尽可能多的符号,当然,它成功地匹配了,因为有几个块以
END
结尾


添加
后,引擎将尝试使用尽可能少的符号匹配模式,在遇到第一个端点之前完成
(.*)
匹配。

啊!非常感谢,我有一种感觉,那将是愚蠢的事情。啊!非常感谢,我有一种感觉,这将是愚蠢的事情。