Как правильно избежать регулярного выражения C #? - PullRequest
2 голосов
/ 20 марта 2011

Это мое регулярное выражение в простой форме:

<tr>[\s]+?<td class="filePathActiv"[\w\W]+?<div class="Overflow">[\s]*?(?<name>[\w\W]+?)&nbsp[\w\W]+?\(wygasa (?<wygasa>[\d\s\-\:\s]+)\)[\w\W]+?class="fileDown"[\w\W]+?<a href="(?<address>[\w\W]+?)">[\w\W]+?<td width="[\d]+?">(?<sizeMB>[\d\.]+?) MB</td>[\w\W]+?<input [\w\W]+? name="(?<path>[\w\W]+?)" [\w\W]+? value="(?<value>[\w\W]+?)"[\w\W]+?/>

Как мне избежать этого регулярного выражения? Я пытался так, но это не работает:

new Regex("<tr>[\\s]+?<td class=\"filePathActiv\"[\\w\\W]+?<div class=\"Overflow\">[\\s]*?(?<name>[\\w\\W]+?)&nbsp[\\w\\W]+?\\(wygasa (?<date>[\\d\\s\\-\\:\\s]+)\\)[\\w\\W]+?class=\"fileDown\"[\\w\\W]+?<a href=\"(?<address>[\\w\\W]+?)\">[\\w\\W]+?<td width=\"[\\d]+?\">(?<sizeMB>[\\d\\.]+?) MB</td>[\\w\\W]+?<input [\\w\\W]+? name=\"(?<path>[\\w\\W]+?)\" [\\w\\W]+? value=\"(?<value>[\\w\\W]+?)\"[\\w\\W]+?/>", RegexOptions.IgnoreCase);

Ответы [ 2 ]

8 голосов
/ 20 марта 2011

Вы должны поместить его в строку @"...".
Затем все, что вам нужно сделать, это заменить каждые " на "".

0 голосов
/ 27 марта 2013

Я думаю, вы должны использовать Regex.Escape() метод.

...