zoukankan      html  css  js  c++  java
  • 5.2.1 模式修饰词

    5.2.1  模式修饰词
    
    /i 修饰词是说同时匹配大写或者小写(以及在 Unicode 里的标题)
    
    
    /s 和 /m 修饰词并不涉及任何古怪的东西。它们只是影响 Perl 对待那些包含换行符的匹配的态度。
    
    
    元字符 "." 匹配除了换行符以外的任何单个字符,因为它的传统含义是匹配一行内的某个字符。
    
    
    不过带有/s时,"." 元字符也可以匹配一个换行符,因为已经告诉Perl 忽略该字符串可能包含的多个换行符的情况
    
    Vsftp:/root/perl/2# cat a4.pl 
    my $var=" my
              aa
              bb";
    if ($var =~ /.*my.*aa.*bb/){print "11111111
    "};
    Vsftp:/root/perl/2# perl a4.pl 
    Vsftp:/root/perl/2# 
    
    
    Vsftp:/root/perl/2# cat a4.pl 
    my $var=" my
              aa
              bb";
    if ($var =~ /.*my.*aa.*bb/s){print "11111111
    "};
    Vsftp:/root/perl/2# perl a4.pl 
    11111111
    
    /m 修饰符
    
    
    先说锚定符,如果在单行模式 /s 下使用^或$来表示匹配开始或末尾的话,那么^,$将匹配的是字符串的开头和末尾,
    
    而并不是以‘
    ’为概念的行的开头和末尾,如果想匹配‘
    ’为概念的行的开头和末尾,则要与多行模式混合 /m 使用,即 m/你的模式/sm,但是这还取决于另一个元字符——'.'。
    
    
    
    /m  令 ^ 和 $ 匹配随后嵌入的 
    。 当作多行处理
    
    Vsftp:/root/perl/2# cat a4.pl 
    my $var="my
    aa
    bb";
    if ($var =~ /^my
    ^aa
    bb$/){print "11111111
    "};
    Vsftp:/root/perl/2# perl a4.pl 
    Vsftp:/root/perl/2# 
    
    
    
    Vsftp:/root/perl/2# cat a4.pl 
    my $var="my
    aa
    bb";
    if ($var =~ /^my
    ^aa
    bb$/m){print "11111111
    "};
    Vsftp:/root/perl/2# perl a4.pl 
    11111111
    

  • 相关阅读:
    bzoj 2599
    bzoj 3697
    poj 1741
    bzoj 2741
    bzoj 5495
    bzoj 3261
    网络流24题——骑士共存问题 luogu 3355
    网络流24题——数字梯形问题 luogu 4013
    bzoj 3998
    网络流24题——魔术球问题 luogu 2765
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6198986.html
Copyright © 2011-2022 走看看