Regex с может быть многочисленным ----- и должен начинаться с новой строки после строки - PullRequest
1 голос
/ 22 июля 2010

Как бы выглядело регулярное выражение при поиске этой строки:

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

, похоже, это не работает:

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

что я не так делаю?

Ответы [ 4 ]

1 голос
/ 22 июля 2010

Шаблон, который вы ищете, мне не совсем понятен, равно как и остальное содержимое, в котором вы ищете, но если вы действительно , просто ищите «Зашифрованный», сразу же только перевод строки, тогда это все, что вам нужно сделать:

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

EDIT

Хорошо, комментарии, по-видимому, указывают на то, что вы ищете ноль или более вхождений "-", затем "Зашифровано", а затем перевод строки. В этом случае будет работать следующее.

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

Если перед «Зашифровано» должен быть хотя бы один «-», это будет

Regex r = new Regex(@"-+Encrypted\n");
0 голосов
/ 22 июля 2010

@ Sanju

выполняет эту работу: P

Шаблон регулярного выражения = новое регулярное выражение (@ "- * Encrypted \ n");

для меня это сделал! Вы должны удалить символ "^"

0 голосов
/ 22 июля 2010

Я не знаю, в частности, регулярное выражение для c #, но я думаю, что вы не должны ставить ^, потому что это не в начале строки.И то, что $ делает в середине.

Так что я бы сделал в регулярном выражении PCRE:

/-+"Encrypted" *\n/

, которые соответствуют одному или нескольким - после "Шифрования", за которым следует 0 или более пробеловс последующим переводом строки.

0 голосов
/ 22 июля 2010

Попробуйте это без квадратных скобок и переместите доллар $ в конец шаблона. То есть:

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

Квадратные скобки похожи на оператор Or. Итак, [Encrypted] - это то же самое, что сказать: 'E' or 'n' or 'c' or 'r'.... or 'd'.

Символ доллара соответствует концу строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...