第7章: 正则表达式

  

#! /usr/bin/perl
use strict;
use warnings;

print "\n----------------------------------simple_pattern_metacharacter_quantifier--------------------------\n";
$_ = "asteriskasterisk hash access unpack_func";
for (/as.*e/){
    print "matched.\n";
}
for (/(asterisk)+/){
    print "matched*2.\n";
}
for(/unpack.*|lvalue|alignment/){
    print "matched*3.\n";
}
my @escaped = "asteriskasterisk hash access unpack_func";
print @escaped;
print "@escaped";
foreach(@escaped){
    print $_;
}
print "\n";
print $escaped[0];
print "\n";
unless( $escaped[1] ){
    print "\$escaped[1] is undef.";
}
print "\n----------------------------------simple_pattern_metacharacter_quantifier--------------------------\n";

print "\n----------------------------------_alternative_--------------------------\n";
print $_."\n";
for(/access (unpack|indices)_func/){
    print "matched*4.\n";
}
print "\n----------------------------------_alternative_--------------------------\n";

print "\n----------------------------------_character_class--------------------------\n";
$_ = 'z';
for(/[a-cw-z]/){
    print "matched*5.\n";
    print "\000";
    print "\n";
    print "\177";
}
$_ = "The HAL-9000 requires 8 authorization.";
if(/HAL-[0-9]+/){
    print "HAL computers mentioned."
}
print "\n----------------------------------_character_class--------------------------\n";

print "\n----------------------------------_character_class_shortcut--------------------------\n";
if(/HAL-\d+/){
    print "HAL computers mentioned. matched*5.\n";
}
if(/requires \w authorization/){
    print "matched*6.\n";
}
print "\n----------------------------------_character_class_shortcut--------------------------\n";

print "\n----------------------------------exercise_ch7_--------------------------\n";
$_ = "aligning Alignrick or veralign.";
if(/align/){
    print "matched*7.\n";
}
open ARROW_NOTATION, "< file_4_ex_ch7.txt";
my $counter = 8;
while(<ARROW_NOTATION>){
    chomp;
    my $arraow_syntax = $_;
    #for(/[a|A]lign/){
    for(/\./){
        print "matched*$counter.\n";
        $counter++;
        print $arraow_syntax."\n";
    }
}
close ARROW_NOTATION;
print "\n----------------------------------exercise_ch7_--------------------------\n";

print "\n----------------------------------exercise_ch7_4--------------------------\n";
while(<>){
    if(/[A-Z][a-z]+/){
        print $_."\n" ;
    }
    if(/[a-z][A-Z]/){
        print $_."\n" ;
    }
}
print "\n----------------------------------exercise_ch7_4--------------------------\n";























posted @ 2019-07-04 14:11  jimy1  阅读(209)  评论(0编辑  收藏  举报
Total Visits
AmazingCounters.com