• 正则表达式 7 ----大括号


    1. 实例
    1. 实例一:

    假设图片的文件名只可能是小写字母,且最长不超过5位,最短是一位

    根据上述字符串:取出图片的src集合

    javaScript:

    var str="<img src='abc.jpg'/><img src='abcde.png'/>";

     

    var pattern=/<imgssrc='(w{1,5}.w+)'/>/g;

     

    while(result=pattern.exec(str))

    {

    alert(result[1]);

    }

     

    java:

    String str="<img src='abc.jpg'/><img src='abcde.png'/>";

     

    Pattern p=Pattern.compile("<img\ssrc='(?<imgsrc>\w{1,5}.\w+)'\/>");

     

    Matcher m=p.matcher(str);

     

    while(m.find())

    {

    System.out.println(m.group("imgsrc"));

    }

     

    1. 实例二:

    <img src='abc.jpg'/><img src='abcde.png'/><img src='bbb.exe'/>

    最后一个bbb.exe 明显不是我们想要的

    于是,我们来做个规定:

    我们只要后缀为jpg和png的图片,其他一律不要

     

    var pattern=/<imgssrc='(w{1,5}.[jpg|png]+)'/>/g;

     

    1. 实例三:

    var str="<img src='abc.jpg'/><img src='abcde.jpng'/><img src='bbb.exe'/>";

    那么 abcde.jpng 也会取出,事实上这也不是我们想要的。

    这时我们就要用到 {} 来限定。必须是三个字母

    var pattern=/<imgssrc='(w{1,5}.[jpg|png]{3})'/>/g;

     

    1. 知识清单

    小括号: (),往往用来分组,提取我们需要匹配的字符

    中括号:[] ,往往用来表示匹配字符范围 .配合其他正则特性一起使用能实现很强大的功能

    大括号:{} 代表匹配次数。{0,3} 代表>=0而<=3

    {1,} 代表>=1

    {3} 代表匹配3次

    |: 代表 "或" 如:[jpg|png]

    放到中括号里 代表匹配 jpg或png里面的任意一个字符。配合一个+就可以成单词取出

     

     

    在人生中,赢家并不是那些有优秀基因的人,或是那些最有天分的人,而是那些最不屈不挠的人!当他们跌倒了,他们总是不断的爬起来,继续做,继续做。 no pain no gains (^ _ ^) !!
  • 相关阅读:
    关于OS命令注入的闭合问题
    PostgreSQL远程连接配置
    IBatis 配置各种数据库
    iOS开发--图片轮播
    iOS开发--UILabel根据内容自动调整高度
    iOS开发--底部按钮和应用图标显示未读消息
    常用软件安装及VS插件工具
    Git入门
    部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
    .NET 互联网技术简介
  • 原文地址:https://www.cnblogs.com/fatsnake/p/5291785.html
Copyright © 2020-2023  润新知