繁体   English   中英

C# 正则表达式匹配模式与缩进

[英]C# regular expression match pattern with indentation

我有一个文本文件,我想匹配文本文件中出现 10 次的 3 行。 我的问题是用缩进匹配这 3 行,第三行可以是任何单词

线路示例:

    Then something something 

        Follow by something found 

        Something something 

这是我迄今为止尝试过的:

string pattern = @"\s\s\s\sThen([\s\S]*)found(\n|\r|\r\n)(\s\s\s\s\s\s)(.*)";
match = Regex.Match(input, pattern, RegexOptions.Multiline);

结果给了我 500 个匹配项,这不是我要找的。

我对所需的格式进行了疯狂的猜测,但您可以尝试以下操作:

var text = @"    Then something something
      Follow by something found
      Something something
      ";
var pattern = @"[ ]{4}Then[\w\s]+(\r|\n|\r\n)[ ]{6}[\w\s]+found(\r|\n|\r\n)[ ]{6}[\w\s]+(\r|\n|\r\n)";
var match = Regex.Match(text, pattern, RegexOptions.Multiline)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM