下面是google的一个搜索链接,我想用正则表达式匹配出关键词,就是以“q=”开头,以“&”结束的那部分文字,还要考虑后面没有“&”的情况。
我是这样写的:q=(.*)&,但是匹配出这个字符串,显然不对:q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&hl=zh-CN&lr=&http://www.google.com/search?q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&hl=zh-CN&lr=&nxpt=20.98701769522124843416
我是这样写的:q=(.*)&,但是匹配出这个字符串,显然不对:q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&hl=zh-CN&lr=&http://www.google.com/search?q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&hl=zh-CN&lr=&nxpt=20.98701769522124843416
解决方案 »
- 防止刷投票除了IP和Cookie还有其它办法没?
- .net怎么删除不为空的目录
- 老问题:客户端JavaScript通过HTML控件与服务器端传值的问题。
- 3层结构问题
- vs2005里调用css样式表的问题
- this.RegisterStartupScript("","<script>alert('消息发送成功!');window.returnValue='ok';window.close();</script>");
- [馨郁星愿]CSDN的xdjm快来帮忙啊~~~~~~
- 写入oracle数据库是乱码!急
- 如何用datagrid控件来实现分页
- 这个动态的菜单是怎样做的?
- 各位大哥,有一难题
- 脱机网页无法显示
string result = "";
Match m = Regex.Match(test, @"(?<=q=)[^&]*(?=&|$)", RegexOptions.IgnoreCase);
if (m.Success)
result = m.Value;
不过MS这个可以不用正则来做的
http://www.google.com/search?q=后面的字符串这个正则应该就很简单了哈 呵呵 不知道你要的是不是这样的结果string str=http://www.google.com/search?q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&hl=zh-CN&lr=&nxpt=20.98701769522124843416string Rstr=Regex.Replace(str,@"^http://www.google.com/search?q=([\w\W]+)$","$1")
?=是正向预查
?<=表示什么?
在Test(\?q=([^&]*)&?)后获得字串是?q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%20%E7%BB%93%E6%9D%9F&,取group 1里的。