正则表达式可以很多-----并且必须在字符串之后换行

时间:2010-07-22 09:37:42

标签: c# regex

当我搜索此字符串时,正则表达式会是什么样子:

before CAN be many comment lines --------"Encrypted" after must come a newline.

这似乎不起作用:

Regex pattern = new Regex(@"^[-]*$[Encrypted][\n]");

我错了什么?

4 个答案:

答案 0 :(得分:1)

您正在搜索的模式对我来说并不完全清楚,您搜索的其他内容也不是很清楚,但如果您真的只是直接寻找“加密”接下来只有 换行符,这就是您需要做的所有事情:

Regex r = new Regex(@"Encrypted\n")

修改

好的,评论似乎表明你正在寻找零或更多的“ - ”,然后是“加密”,然后是新行。在这种情况下,以下内容将起作用。

Regex r = new Regex(@"-*Encrypted\n");

如果“加密”之前至少应有一个“ - ”,则为

Regex r = new Regex(@"-+Encrypted\n");

答案 1 :(得分:0)

在没有方括号的情况下尝试它并将美元$移动到模式的末尾。即:

Regex pattern = new Regex(@"^-*Encrypted$"); 

方括号就像Or语句。因此[Encrypted]与说'E' or 'n' or 'c' or 'r'.... or 'd'

相同

美元符号与字符串的结尾匹配。

答案 2 :(得分:0)

我不知道c#的正则表达式,但我不能把^因为 - 不是在行的开头。而$正在中间做什么。

所以我会在PCRE正则表达式中做:

/-+"Encrypted" *\n/

匹配一个或多个 - 后跟“加密”,后跟0或更多空格,后跟换行符。

答案 3 :(得分:0)

@Sanju

这是否有效:P

正则表达式=新的正则表达式(@“ - *加密\ n”);

对我而言确实如此!你必须删除“^”char