加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 正则

发布时间:2020-12-15 23:52:19 所属栏目:大数据 来源:网络整理
导读:s 代表空格+ 代表重复一次或一次以上s+ 代表一个或者一个以上空格[oracle@jhoa ~]$ cat a3.pl $command ="ls -ltr";my ($binary,$var)=split /s+/,"$command";print "$bibary is $binaryn";print "$var is $varn";[oracle@jhoa ~]$ perl a3.pl $bibar

s 代表空格

+ 代表重复一次或一次以上

s+ 代表一个或者一个以上空格

[oracle@jhoa ~]$ cat a3.pl 
$command ="ls -ltr";
my ($binary,$var)=split /s+/,"$command";
print "$bibary is $binaryn";
print "$var is $varn";


[oracle@jhoa ~]$ perl a3.pl 
$bibary is ls
$var is -ltr

#####################################################
正则表达式
m#[|&><;]#

if ($command =~ m#[|&><;]#) {

m/<regexp>;/  可以简写成/<regexp>;/ 略去m

[oracle@jhoa ~]$ cat a4.pl 
$command = ";";
if ($command =~ m#[|&><;]#) {
print "okn";
}

[oracle@jhoa ~]$ perl a4.pl 
ok


[oracle@jhoa ~]$ cat a4.pl 
$command = "&";
if ($command =~ m#[|&><;]#) {
print "okn";
}

[oracle@jhoa ~]$ perl a4.pl 
ok

[oracle@jhoa ~]$ cat a4.pl 
$command = "#";
if ($command =~ m#[|&><;]#) {
print "okn";
}

[oracle@jhoa ~]$ perl a4.pl 

###########################################################
 [oracle@jhoa ~]$ cat a4.pl 
$command = "> | m";
if ($command =~ m#[|&><;]#) {
my @array=split /|/,"$command";
print "@array is @array:n";
}


[oracle@jhoa ~]$ perl a4.pl 
@array is >   m:

按| 分割,赋值给数组@array

#############################################################
$command =~ /|s*(less|grep|wc)/

匹配| 0个或多个空格 在跟less grep 或wc 

##############################################################
b
表示单词边界:

[oracle@jhoa ~]$ cat a5.pl 
$command = "lsn ";
 if ($command =~/lsb/ ){
print "okn"}
;

[oracle@jhoa ~]$ perl a5.pl 
[oracle@jhoa ~]$ 

只会匹配到ls 不会匹配lsn

#############################################################
grep m/^$binaryb/,@allow_command or grep m/^$binaryb/,@allow_command2 

$binary 匹配数组元素


#######################################################################
字符正则匹配:
$var = "abccc";
if ($var =~ /ab/) {
print ("okn");
}


数组正则匹配:

[oracle@jhoa ~]$ cat a7.pl 
use strict;
use Switch;
use Sys::Hostname;
use File::Basename;
my $host = hostname;
my $prompt = "$host >";
my @allow_command=(
    "/bin/cat","/bin/ls",);
my @allow_command2=map {basename("$_") } @allow_command;
print "@allow_command2n";

if (grep m/ls/,@allow_command2 ) {
print "22222222222222211n";
}else {
print "2222222222222222n";}

[oracle@jhoa ~]$ perl a7.pl 
cat ls
22222222222222211

此时ls 匹配数组元素

[oracle@jhoa ~]$ cat a7.pl 
use strict;
use Switch;
use Sys::Hostname;
use File::Basename;
my $host = hostname;
my $prompt = "$host >";
my @allow_command=(
    "/bin/cat",);
my @allow_command2=map {basename("$_") } @allow_command;
print "@allow_command2n";

if (grep m/lsa/,@allow_command2 ) {
print "22222222222222211n";
}else {
print "2222222222222222n";}
[oracle@jhoa ~]$ perl a7.pl 
cat ls
2222222222222222

lsa 不匹配数组元素


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读