如何删除多行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*
对我来说很好。