使用正则表达式使用制表符匹配不同行上的两个字符串

时间:2011-11-24 23:25:02

标签: c# regex

我有以下两个字符串,并且想要搜索它们何时出现,我正在努力,因为它们在我正在使用的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);

我在...中添加了引号

2 个答案:

答案 0 :(得分:0)

试试这个:

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

你的解决方案必须有一个或多个空格,后跟制表符而不是行,上面的正则表达式应该匹配其中任何一个。

答案 1 :(得分: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);