using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Net;

using System.IO;

using System.Text;

using System.Text.RegularExpressions;

namespace DloadPic

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            string allstr = "<p dir=\"ltr\"><b>首先小编提醒广大车友们,下面应急方法都是有前提的:</b></p> <p dir=\"ltr\">  <b>1、你没有影响他人通过。没横在人行道上,没挡住了其它车辆。

</b></p> <p dir=\"ltr\"><b>  2、你没有逆向停车。

</b></p> <p dir=\"ltr\">";

            allstr += "<img src=\"http://mmbiz.qpic.cn/mmbiz/1AduwlOjUXlYnmR39eBSwp50G5SKib3hPAjbkWnMibSyg3tu5e54TRF1hVyzwWr0BdEgQh9WwpwhkVQ5apeibMV1Q/640?wx_fmt=jpeg&wxfrom=5&tp=webp\"><br></p>
<p dir=\"ltr\">  排除上面这两条后。假设交警正准备对你的停车行为进行";

            allstr += "取证,<b>你仅仅须要迅速拉开车门,回到驾驶位置,正常驶离就能够了。</b>由于证据照片中,驾驶位置上有驾驶员的,是不能作为“机动车违反规则停放且驾驶人不在现场或在现场拒绝马上驶离。妨碍其它车辆、行人通行的”行为进行处罚的。

<br></p> <p dir=\"ltr\">";

            allstr += "<img src=\"http://mmbiz.qpic.cn/mmbiz/1AduwlOjUXlYnmR39eBSwp50G5SKib3hPf1k0Vrx12u3EQqmQEA0icCWV10HzicL2ZkHLaF46D2HbRZryZK39XiaTA/640?

wx_fmt=jpeg&wxfrom=5&tp=webp\"><br></p>
<p dir=\"ltr\">  <b>假设交警正准备给你的车贴条。你能够边打开手";

            allstr += "机的录像功能(最好设置有快捷方式)边告诉交警你暂时停了一下如今立即离开。</b>假设交警仍然执意贴条,那么这段录像就能够作为申诉和复议证据。由于假设驾驶人在场,交警应该是指出违法行为,予以口头警告,令驾驶人立即驶离,驾驶人仅仅要高速驶离就可以。";

            allstr += "</p> <p dir=\"ltr\">  <img src=\"

wx_fmt=jpeg&wxfrom=5&tp=webp\'><br></p">http://mmbiz.qpic.cn/mmbiz/1AduwlOjUXlYnmR39eBSwp50G5SKib3hPtD8FYz6gsOAK3GxHtN6hU9A2ibuHeFJYgXlm6Z1PkbgANiap04BNnueg/640?

wx_fmt=jpeg&wxfrom=5&tp=webp\"><br></p>
<p dir=\"ltr\">  微群里一小伙伴在医院暂时等人";

            allstr += ",我把车停在路边,降下玻璃等待,后视镜里能够看到一位交警由远及近的一辆一辆的贴条,贴到我的车时候发现驾驶位置有人。人家扭头就走了。

一说明,这位交警非常清楚驾驶员在现场不能处罚;二说明,口头警告对他来说没有不论什么意义。不如节约时间到路对面继续";

            allstr += "贴条,更具有现实价值。

</p> <p dir=\"ltr\">  <img src=\"http://mmbiz.qpic.cn/mmbiz/1AduwlOjUXlYnmR39eBSwp50G5SKib3hPUh33wnDpYG4hhW1Gr9eCqvu9vc0IWluZaBnYTpTicjKvxctARiaRnliag/640?

wx_fmt=jpeg&wxfrom=5&tp=webp\"><br></p>
<p dir=\"ltr\">  朋友";

            allstr += "们。细致阅读交通法。学习交通法,遵守交通法是保证安全,避免处罚的最有效方法。争辩、吵架、送烟、生气、发泄都非常OUT!

效果不好,还解决不了问题。</p> <p dir=\"ltr\">  <img ";

            allstr += "src=\"http://mmbiz.qpic.cn/mmbiz/1AduwlOjUXlYnmR39eBSwp50G5SKib3hPgTUyALQPkTsIIF55ZumuuTcYbGL43lttgBDTFVlrficnbeMwK3O42nQ/640?wx_fmt=jpeg&wxfrom=5&tp=webp\"></p>
<p dir=\"ltr\"><img ";

            allstr += "src=\"

wxfrom=5&wx_fmt=jpeg&tp=webp\'><b><b></b></b></p">http://mmbiz.qpic.cn/mmbiz/DaFXKpOGEkylF3es0sMdI99dbBO3ia0c6olvkGrSoBiaDCiaPlI1kUgdvNrnchmdbg1hmIkvuVwa8OuXgnuLbXevQ/640?wxfrom=5&wx_fmt=jpeg&tp=webp\"><b><b></b></b></p>";

            Regex reg = new Regex("<img\\s+src=\"(.*?)\"");

           // MatchCollection matches = reg.Matches(allstr);

            allstr = reg.Replace(allstr,new MatchEvaluator(matchreplace));

            string str = allstr;

}

public string matchreplace(Match m_match)

        {

            string m_return = m_match.Groups[0].Value;

            string m_picurl = m_match.Groups[1].Value;

            string temppartsrc = m_picurl.Substring(0, m_picurl.IndexOf('?'));

            string temp = m_picurl.Substring(m_picurl.IndexOf("wx_fmt=") + 7);

            string pictype = temp.Substring(0, temp.IndexOf("&"));

            string src = temppartsrc + "." + pictype;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(src);

            request.AllowAutoRedirect = true;

WebProxy proxy = new WebProxy();

            proxy.BypassProxyOnLocal = true;

            proxy.UseDefaultCredentials = true;

            request.Proxy = proxy;

            WebResponse response = request.GetResponse();

            string virthpath = "";

            using (Stream stream = response.GetResponseStream())

            {

                using (MemoryStream ms = new MemoryStream())

                {

                    Byte[] buffer = new Byte[1024];

                    int current = 0;

                    while ((current = stream.Read(buffer, 0, buffer.Length)) != 0)

                    {

                        ms.Write(buffer, 0, current);

                    }

                    byte[] arry = ms.ToArray();

                     virthpath = "./image/" + DateTime.Now.ToString("yyyyMMddhhmmss") + "." + pictype;

                    string path = Server.MapPath(virthpath);

                    File.WriteAllBytes(path, arry);

                }

            }

            m_return = m_return.Replace(m_picurl, virthpath);

            return m_return;

        }

}

}

正則表達式 取出img标签 保存于指定路径的更多相关文章

  1. 使用正則表達式的格式化与高亮显示json字符串

    使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...

  2. JavaScript正則表達式知识汇总

    Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegE ...

  3. Java正則表達式

    近期工作中常常要用到正則表達式,不得不花点时间对其进行一定的学习.   JDK中提供了2个类来支持正則表達式,各自是java.util.regex.Pattern和java.util.regex.Ma ...

  4. Python正則表達式:怎样使用正則表達式

    正則表達式(简称RE)本质上能够看作一个小的.高度专业化的编程语言,在Python中能够通过re模块使用它.使用正則表達式,你须要为想要匹配的字符串集合指定一套规则,字符串集合能够包括英文句子.e-m ...

  5. 【iOS】正則表達式抓取网页数据制作小词典

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xn4545945/article/details/37684127 应用程序不一定要自己去提供数据. ...

  6. 7.4 Javascript:表单验证-揭开正則表達式的面纱

    用元字符匹配对应的字符类型 创建正則表達式有点像创建字符串字面量,仅仅只是正則表達式出如今一对"/"里 正則表達式中会用到一级元字符.用于连接字母与数字 "." ...

  7. 黑马程序猿————Java基础日常笔记---反射与正則表達式

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 黑马程序猿----Java基础日常笔记---反射与正則表達式 1.1反射 反射的理解和作用: 首 ...

  8. iOS正則表達式(一)

    什么是正則表達式? 正則表達式是对字符串操作的一种逻辑公式. 作用? 在iOS开发中我们通常使用正則表達式来匹配给定的字符串是否符合我们的业务逻辑,比方说用户注冊帐号仅仅能是手机号或者邮箱等.我们还能 ...

  9. jQuery源代码学习:经常使用正則表達式

    转载自:http://nuysoft.iteye.com/blog/1217898 经常使用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^ ...

随机推荐

  1. Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖

    题目来源:Light OJ 1429 Assassin`s Creed (II) 题意:最少几个人走全然图 能够反复走 有向图 思路:假设是DAG图而且每一个点不能反复走 那么就是裸的最小路径覆盖 如 ...

  2. libevent简单分析

    一看名字就知道是围绕eventloop转的. 那首先肯定是eventloop是个什么?一般都是IO事件,timer事件的管理器. 那首先看如何new出来一个eventloop: 1.因为libeven ...

  3. NFS服务器端配置

    服务器端配置1 创建共享目录# mkdir /home/share# chown nobody.nogroup /home/share2 创建或修改/etc/exports 配置文件这个文件的内容非常 ...

  4. [C++STDlib基础]关于日期时间的操作——C++标准库头文件<ctime>

    总结 /* A.头文件<ctime> #if _GLOBAL_USING && !defined(RC_INVOKED) _STD_BEGIN 1.四个数据类型 using ...

  5. android studio下的NDK开发详解(一)

    源地址:http://www.voidcn.com/blog/chengkaizone/article/p-5761016.html 好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好. ...

  6. Delphi5的System.pas只有11514行

    Delphi5的System.pas只有11514行(不包含update2),是研究RTL的好材料 相比之下,Delphi6的System.pas只有18118行Delphi7的System.pas只 ...

  7. 理解Windows内核模式与用户模式

     1.基础 执行 Windows 的计算机中的处理器有两个不同模式:"用户模式"和"内核模式". 依据处理器上执行的代码的类型,处理器在两个模式之间切换.应 ...

  8. Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...

  9. HDU 4284 Travel

    据说是TSP经典问题...可以用状态压缩做.但是看到数据量,就厚着脸皮上搜索了...先floyd预处理每对点间的最小消费,然后只考虑要去的城市就可以了,这样的话城市数最多16个...当时就暴搜了... ...

  10. 【C语言天天练(二四)】内存分配

    引言: 对于C语言程序,了解它执行时在内存中是怎样分配的对于我们理解它的执行机制是很实用的.以下就总结一下C语言程序的一些内存分配知识. 一 一段C程序.编译连接后形成的可运行文件一般有代码段.数据段 ...