2014-10-31 3 views
0

меня (от давно) проблем с согласованием регулярных выражений ... (я просто не могу понять и Remeber этой проклятой вещи ...)Простого выражения матч

Однако, я хотел бы найти строка, которая является концом или строка таблицы и начало другой строки:

<tr>(-line-break or spaces or both...)</tr> 

Я пытаюсь с

Regex.Match(_mainTable, @"</tr>*<tr>") 

но он возвращает Пусто

+1

'*' говорит предыдущий символ (т.е. '>') сопоставляются ноль или более раз. – DavidG

+1

Что вы пытаетесь достичь? Возможно, лучше использовать что-то, что анализирует DOM, а не пытается анализировать с помощью регулярного выражения. – Jon

+0

Вам лучше использовать что-то более подходящее, например [HTML Agility Pack] (http://htmlagilitypack.codeplex.com/) – DavidG

ответ

1

* является квантификатором. Это означает, что ноль или более соответствует , которое в вашем выражении является >, которое появляется перед * .. что вы, что должно соответствовать «любым пробелам», обозначено аббревиатурой \s, что является ярлыком для: любых символ в наборе [ \t\r\n]

так что ваш код должен быть

Regex.Match(_mainTable, @"</tr>\s*<tr>") 
0

Просто добавьте \s*, чтобы соответствовать между символом новой строки.

Regex.Match(_mainTable, @"</tr>\s*<tr>") 
Смежные вопросы