zoukankan      html  css  js  c++  java
  • 正则取出img中src

    有下例Html代码

        <div>
            
    <img alt='' src="/UpLoad/image/111.jpg" /><img alt='' src='/UpLoad/image/222.jpg' /><img
                
    src='./UpLoad/image/333.jpg' alt='' /></div>
        
    <div>
            
    <img alt='' src='/UpLoad/image/444.jpg' />
            
    <img src='../sa/UpLoad/image/333.jpg' alt='' />
        
    </div>

     现在要取出img中的src。正则的写法如下:

    <img[^>]*src\s*=\s*['"]([\w/\-\.]*)['"][^>]*

    解释:

     <img[^>]*  :查找以<img开头,以>终止的内容。

    src\s*=\s*['"]([\w/\-\.]*)['"][^>]*:查找src开头,以>终止的内容,并取src中内容。

    \s*     :0或多个空格

     ['"]    取一个'或“。

     ([\w/\-\.]*)取单词字符,包含_/-.等字符。(),表示用Groups方式取到值。

     用法:

        private void FindImageInXmlMethod()
        {
            
    string ImgXml = " <div><img alt=''  src=\"/UpLoad/image/111.jpg\" /><img alt=''  src='/UpLoad/image/222.jpg' /><img  src='./UpLoad/image/333.jpg'  alt=''  /></div>"
                
    + @"<div><img alt=''  src='/UpLoad/image/444.jpg' />
                <img  src='../sa/UpLoad/image/333.jpg'  alt=''  />
                </div>
    ";

            
    string RegEx = "<img[^>]*src\\s*=\\s*['\"]([\\w/\\-\\.]*)['\"][^>]*";
            Regex imgRegex = new Regex(RegEx,RegexOptions.IgnoreCase);

            MatchCollection matchCollection 
    = imgRegex.Matches(ImgXml);
            
    foreach (Match matchItem in matchCollection)
            {
                
    string val = matchItem.Value;
                val 
    = matchItem.Groups[1].Value;
                Response.Write(val 
    + "<br/>");
            }
        }

    结果:

    /UpLoad/image/111.jpg
    /UpLoad/image/222.jpg
    .
    /UpLoad/image/333.jpg
    /UpLoad/image/444.jpg
    ..
    /sa/UpLoad/image/333.jpg

     


  • 相关阅读:
    使用Python快速生成虚拟的超大文件
    常用的 adb 命令合集
    Jmeter 性能测试之反向代理录制性能测试脚本
    论医院网络时钟系统(NTP时钟服务器)的重要性
    北斗时钟装置(卫星时间同步系统)应用自动化系统探讨
    解决前端部署到Nginx非根目录下页面出现空白的问题
    解决docker中Easyexcel因缺少字体无法导出的问题
    看图认识HTML5
    看图知Docker
    ASIS CTF Finals 2020
  • 原文地址:https://www.cnblogs.com/scottckt/p/1890755.html
Copyright © 2011-2022 走看看