2011-11-24 85 views
0

我有以下两个字符串,并希望搜索它们何时发生,我很挣扎,因为他们在我使用的HTML文件中的选项卡不同的行上。使用正则表达式匹配两个字符串与标签使用正则表达式

<span class="price">$17.95</span> 




    <span class="supersaver"> 

这是我到目前为止已经试过,价格的值可以改变,我已经试过只用\ S +本身也有一个组合\ n + \ T +等。

MatchCollection m1 = Regex.Matches(file, @"<span class=""price"">[$]\d+[.]\d+</span>\n+\t+<span class=""supersaver"">", 
        RegexOptions.Singleline); 

我已经添加了引号...

回答

0

试试这个:

MatchCollection m1 = Regex.Matches(file, @"<span class=price>[$]\d+[.]\d+</span>[\s\n\t.]+<span class=supersaver>", 
       RegexOptions.Singleline); 

您的解决方案必须有一个或多个空格,随后b y选项卡和没有行,上面的正则表达式应该匹配任何一个。

+0

好的欢呼加入[\ s \ n \ t。] +已经工作了! – Standage

+0

@Paul -和 sln

0

您可能会缺少一些引号。如果你要使用正则表达式,也许更普遍的更好。

MatchCollection m1 = Regex.Matches(file, @"<span\s+class\s*=\s*""price""\s*>\$\d*\.\d*</span\s*>\s*<span\s+class\s*=\s*""supersaver""\s*>", RegexOptions.Singleline); 
+0

之间没有字面的“。”这只适用于在价格和suppersaver中用“”替换\“以”#在C#中 – Standage

+0

好的,谢谢不知道..改变了。 – sln