当我搜索此字符串时,正则表达式会是什么样子:
before CAN be many comment lines --------"Encrypted" after must come a newline.
这似乎不起作用:
Regex pattern = new Regex(@"^[-]*$[Encrypted][\n]");
我错了什么?
答案 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