• perl /m 当作多行处理


    高级用法 多行匹配:
    
    zjtest7-frontend:/root/0825# cat a2.pl 
    print "1111111111111
    ";
    my $_="abc
    ABC
    abc";
    print $_;
    print "
    ";
    
    
    
    print "2222222222222
    ";
    my $_="abc
    ABC
    abc";
    s/c$/ZZZ/g;
    print $_;
    print "
    ";
    
    print "333333333333333
    ";
    my $_="abc
    ABC
    abc";
    s/c$/ZZZ/gm;
    print $_;
    print "
    ";
    zjtest7-frontend:/root/0825# perl a2.pl 
    1111111111111
    abc
    ABC
    abc
    2222222222222
    abc
    ABC
    abZZZ
    
    
    333333333333333
    abZZZ
    ABC
    abZZZ
    
    
    實際上 /m 的作用就是讓 ^ 和 $ 匹配內嵌的換行符( 
     ) 
    
    /m当作多行处理
    
    m   改变字符串^ $ 的匹配起始 终止位置,默认是按每行
    
    
    /m 修饰符 允许^和$来立即匹配在一个嵌入的换行符前后,分别的,
    
     /^=head[1-7]/m 会匹配模式不只是记录的开始,而是任何适当的在一个新行后面
    
    zjtest7-frontend:/root/0825# cat a4.pl 
    my $_="aa
    head4
    bb";
    if ($_=~/aa
    head[1-7]
    bb/){print "1111111111
    "};
    if ($_=~/aa
    ^head[1-7]
    bb/){print "2222222222
    "};
    if ($_=~/aa
    ^head[1-7]
    bb/m){print "3333333333
    "};
    zjtest7-frontend:/root/0825# perl a4.pl 
    1111111111
    3333333333
    
    
    zjtest7-frontend:/root/0825# cat a4.pl 
    my $_="aa
    xxhead4
    xbb";
    if ($_=~/aa
    head[1-7]
    bb/){print "1111111111
    "};
    if ($_=~/aa
    head[1-7]
    bb/){print "2222222222
    "};
    if ($_=~/aa
    .*head[1-7]
    .bb/m){print "3333333333
    "};
    zjtest7-frontend:/root/0825# perl a4.pl 
    3333333333
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    js添加删除元素内容
    [H5]range对象的createRange方法
    [H5]range对象的clone方法
    [H5]range对象的setStart/setEnd方法
    [H5]range对象之selectNode等方法
    [H5]API之range对象
    上传本地Jar包到阿里云的云效私有仓库
    Alibaba Cloud Toolkit 一键部署插件使用入门
    关于mybatis 注意
    win10 docker 安装oracel11g
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199309.html
Copyright © 2020-2023  润新知