Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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#regex中包含匹配项的整行?_C#_Regex - Fatal编程技术网

如何删除多行C#regex中包含匹配项的整行?

如何删除多行C#regex中包含匹配项的整行?,c#,regex,C#,Regex,我有一组字符串中的行: alksjdlaksj asdkjf askldjfak askdjfk ksdjfk **Bogus** alskdjfalksdj sadkljfal skdjfkd 并且需要删除其中包含“伪”的行。我可以用 Regex.Replace(result, @"^.*Bogus.*$", "", RegexOptions.Multiline); 检测并清除上述线路。但是,它会留下一个空行。我也可以用这个正则表达式来清除空白行吗? 使您的正则表达式非多行。。。然后在末尾

我有一组字符串中的行:

alksjdlaksj asdkjf
askldjfak askdjfk
ksdjfk **Bogus** alskdjfalksdj
sadkljfal skdjfkd
并且需要删除其中包含“伪”的行。我可以用

Regex.Replace(result, @"^.*Bogus.*$", "", RegexOptions.Multiline);

检测并清除上述线路。但是,它会留下一个空行。我也可以用这个正则表达式来清除空白行吗? 使您的正则表达式非多行。。。然后在末尾添加换行符,使其成为匹配的一部分

例如:

(^|\n).*Bogus.*\n?

如果可能,在您的场景中,您可以只使用普通的
String.Contains()
,即

var result = string.Join(Environment.NewLine, sourceString.Split(Environment.NewLine)
    .Where(line => !line.Contains("Bogus")).ToArray());

尝试使用
@“^.*Bogus.*\n$”,“”,RegexOptions.Multiline),我相信可以,我会试试的。我是否需要担心\r和其他不同类型的换行符?每个人都反对多行模式吗<代码>(?m^.*伪。*\n*
对我来说很好。