正则表达式结果没有出现在C#中?

时间:2012-12-24 20:32:16

标签: c#

我尝试解析来自谷歌的查询,但是它没有显示,但是根据http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx和正则表达式伙伴,我的正则表达式是正确的。但是,当我尝试使用实时开发时,它没有出现......

我要解析的字符串:

imgurl=http://www.blabla.com/products/W7i5W4Pw4fH22Mih/P_500.jpg&q=ASUS+Rampage+II+Extreme+LGA1366+Intel+X58+DDR3-1600+ATX+Motherboard&imgrefurl=http://www.blabla.com/Mboards/Intel/Rampage_II_Extreme/&usg=__4HSriQuFeVXg5AWsOGlZlsAmMmg=&h=500&w=500&sz=37&hl=en&start=1&zoom=1&tbnid=9ImqgVuzVz5ThM:&tbnh=130&tbnw=130&ei=MKrYUNm9MI6zrAfWi4GQBw&um=1&itbs=1&ptbm=isch

这是我的代码。

string Website = url; //url
string regularExpressionPattern = @"&q=(.*?)&imgrefurl";

MatchCollection matches = Regex.Matches(Website, regularExpressionPattern);

foreach (Match m in matches)
{
    MessageBox.Show(m.Groups[1].Value);
}
System.Diagnostics.Debugger.Break();

即使使用调试器也不是结果? 注意:我使用的是Microsoft Visual C#2008,windows xp 2

2 个答案:

答案 0 :(得分:2)

它适用于我:

screenshot of program run

我怀疑该字符串不包含您认为包含的内容。

答案 1 :(得分:0)

我终于找到了自己的答案......

当我使用HttpWebRequest下载到我的应用程序时,在&

之后添加 amp;

所以网址看起来像这样......

imgurl=http://www.blabla.com/products/W7i5W4Pw4fH22Mih/P_500.jpg&q=ASUS+Rampage+II+Extreme+LGA1366+Intel+X58+DDR3-1600+ATX+Motherboard&imgrefurl=http://www.blabla.com/Mboards/Intel/Rampage_II_Extreme/&usg=__4HSriQuFeVXg5AWsOGlZlsAmMmg=&h=500&w=500&sz=37&hl=en&start=1&zoom=1&tbnid=9ImqgVuzVz5ThM:&tbnh=130&tbnw=130&ei=MKrYUNm9MI6zrAfWi4GQBw&um=1&itbs=1&ptbm=isch

很奇怪?