zoukankan      html  css  js  c++  java
  • perl 正则命名捕获

    #!/usr/bin/perl -w 
    =pod 
    命名捕获--给匹配上的内容加上标签 
    
    捕获到的内容都会保存在%+散列中,这个散列的key为对应的标签; 
    
    方便之处就是利于程序扩展和阅读,不用繁琐的一个一个去数括号来获取匹配变量 
    =cut 
    
    
    zjtest7-frontend:/root/perl# cat a2.pl 
    use strict; 
    my $str = "jack and rose"; 
    if ($str =~ /(?<first>S+) (and|or) (?<second>S+)/) { 
        my ($first, $second) = ($+{first}, $+{second}); 
        print "$first
    $second
    ";  # jack, rose 
    } 
    
    
    zjtest7-frontend:/root/perl# perl a2.pl 
    jack
    rose
    
    
    s  空格,和 [
    	
    f] 语法一样  
    s+ 和 [
    	
    f]+ 一样  
    S  非空格,和 [^
    	
    f] 语法一样  
    S+ 和 [^
    	
    f]+ 语法一样  
    
    /******************************************************
    
    zjtest7-frontend:/root/perl# cat a1.pl 
    my $str="begin 123.456 end";
    
    if ($str =~/(?<first>S+)s+(?<second>S+)s+(?<third>S+)/)
      {
      my ($first, $second,$third) = ($+{first}, $+{second},$+{third});
      print "$first
    $second
    $third
    ";  # jack, rose 
    } 
    
    zjtest7-frontend:/root/perl# perl a1.pl 
    begin
    123.456
    end
    
    
    zjtest7-frontend:/root/perl# cat a3.pl 
    my $str="begin 123.456 end";
    if ($str =~/s+(?<request_time>d+(?:.d+)?)s+/){
       my ($request_time) = ($+{request_time});
       print $request_time."
    ";};
    
    zjtest7-frontend:/root/perl# perl a3.pl 
    123.456
    

  • 相关阅读:
    鼠标效果
    全选与全不选
    正则表达式
    下拉菜单
    图片轮播
    弹出层
    间隔与延时
    JS基础
    引入
    样式表 文字
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199350.html
Copyright © 2011-2022 走看看