正则表达式寻找单词

问题描述:

我有以下正则表达式模式来删除2行换行后的所有字符。正则表达式寻找单词

(?<=.+[\r\n]+.+[\r\n]+)([\s\S]*) 

我在这里的问题是,我也希望是2个换行后添加一个检查特定的文本,例如,如果它被发现,不包括它。

这里是我怎么做我的C#代码:

string newComment = string.IsNullOrEmpty(regexPattern) ? emailBody : new Regex(regexPattern, RegexOptions.IgnoreCase).Replace(emailBody, string.Empty); 

编辑

我想寻找一个特定的文字,例如“这是一个标志:”那么,如果它被发现,它不应该被包括在内并且它也不会被包括在内,同时保持当前的设计,其中2行换行后的所有内容都不会包含在内

样本字符串:

string body = "Try comment."; 
string additionalBody = "This is a signature"; 
string newBody = body + System.Environment.NewLine + additionalBody + System.Environment.NewLine + "asd Asd"; 

所以newBody应该导致3段文字。

它应该只显示“尝试评论”。

可能出现的情况可以是:

1)在所述第一或第二段,文本可以存在并且应该被自动删除。

2)如果自动签名不存在但有3段,请删除最后一段。

+1

“*我在这里的问题是,我也希望是2个换行后添加一个检查特定的文本,例如如果发现,请不要包含它。*“ - 目前尚不清楚你想达到什么效果。你能澄清吗? – 2014-09-11 07:22:10

如何简单:

(?<=(?:.+[\r\n]+){2})([\s\S]*)This is a signature 
+0

对不起,但它没有在我的结局。 – Gerald 2014-09-11 07:32:27

+0

@ M42:\ R在.NET中不存在 – 2014-09-11 07:51:14

+0

@walidtoumi:太糟糕了:-(。 – Toto 2014-09-11 08:07:56

试试这个:

(?<=(?>.+[\r\n]+){2})(?:(?!\bThis is a signature\b)[\s\S])*