zoukankan      html  css  js  c++  java
  • 正则

    点号,匹配任何单字符的通配符(除了换行符\n)--------"abcde"=~/abc.d/

    * 匹配之前内容零次或者多次 

    *. 通配所有的字符串,捡破烂模式

    + 通配之前内容1次以上

    ? 通配前之前内容1次或者0

    分组:


    --------------

    /i 忽略大小写

    /s 匹配任意字符

    /x 加入空白

          /-?\d+\.?\d*/  #挤在一起,看不清楚

          /   -?   \d+   \.?   \d*  /x #加入空白忽略之后,忽略空格

     -------------------------

    $& 完整展示正则式匹配的内容

    $' 匹配之后的字符串

    $` 匹配之前的字符串

    如:if ("hello there,neighbor"=~/\s(w+),/) {print "$& ;}

    输出为:

    my $na='hello there, neighbor';

    if ($na=~/\s(\w+),/)

            {

            say $';

            say $`;

            say $&;}

    输出为:

    neighbor

    hello

     there,

    匹配次数:

    my $na='aaaaaaaaaaaa, neighbor';

    if ($na=~/(a{5,10})/)  #匹配出现a 5到10次的地方,如果a出现了20次,则只有前10个会匹配,如果省去右边的值,则匹配次数没有上限;如果省去左边的值,变为匹配单独的次数(如只有左边值{5},只有前5个会匹配

            {

            print $1 ;} # 这里的$1指,第一次匹配的地方,按左括弧计算

    优先级:

             元括弧                       (.....),(?:......),(?<LABEL>.....)

             量词                             a* a+ a? a{n,m}

             锚位                             abc   a^   a$

             择一                             a|b|c

             元素                             a[abc]  \d   \1

    优先级举例:

             如:/^abc|bar$/ 匹配开头有abc的,或者匹配结尾有bar的,结尾如果有abc,不匹配

                       /^(abc|bar)$/ 匹配不管开头或者结尾有abc或者bar的,结尾有abc,也匹配

    正则匹配测试模板:

             while (<>)    { chomp;

            if (/.../)  #这里输入需要测试的正则式;

                                 {

                    say "$`<$&>$'";

                    }else{

                            say "no match";

                            }

    }


  • 相关阅读:
    八爪鱼 爬取微博中的图片到本地
    【简易采集】美团数据抓取方法 八爪鱼
    jeesite 的提示消息图标
    SpringBoot 入门 Demo
    spring 简单入门实例
    正则表达式之匹配替换
    数据结构之堆栈
    c#设计模式之装饰者模式
    c#设计模式之策略模式
    一个自然数在1700和1800之间,且被5除余3,被7除余4,被11除余6,求符合条件的数
  • 原文地址:https://www.cnblogs.com/agostop/p/2323091.html
Copyright © 2011-2022 走看看