2014-10-31 42 views
0

我有(从很久以前)与正则表达式匹配的问题... (我根本无法理解和remeber这个该死的东西......)一个简单的正则表达式匹配

但是,我想找到一个字符串,它是结束还是一个表行和另一行的开头:

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

我与

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

努力,但它返回空

+1

''是说前面的字符(即'>')匹配零次或多次。 – DavidG 2014-10-31 15:50:09

+1

你想完成什么?使用解析DOM的东西而不是尝试使用正则表达式解析可能会更好。 – Jon 2014-10-31 15:50:25

+0

你最好使用更合适的东西,比如[HTML Agility Pack](http://htmlagilitypack.codeplex.com/) – DavidG 2014-10-31 15:51:16

回答

1

*是一个量词。这意味着零个或多个以前的匹配,在您的表达式是>,出现在*之前..什么是匹配的“任何空格”是指示减号\s这是一个快捷方式:任何字符集合[ \t\r\n]

所以你的代码应该是

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

只需添加\s*即可匹配换行符。

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