Perl正则表达式总结_2

来源:互联网 发布:建筑三维计算软件 编辑:程序博客网 时间:2024/06/05 23:53

#锚模式
#首尾匹配
#/^def/只匹配def打头的字符串,/$def/只匹配def结尾的字符串,/^def$/只匹配字符串def
#\A和\Z在匹配时同^和$
$varchar="adfterdef";
$result=($varchar=~/def$/);
#$resultn=~/^def/;
print("$result\n");
#print("$resultn\n");

$varname="\@wmen123453lkgi";
 if($varname=~/^\$[A-Za-z][_0-9a-zA-Z]*$/){
  print("$varname is a legal scalar variable\n");
 }elsif($varname=~/^\@[A-Za-z][_0-9a-zA-Z]*$/){
  print("$varname is a legal array variable\n");
 }elsif($varname=~/^[A-Za-z][_0-9a-zA-Z]*$/){
  print("$varname is a legal file variable\n");
 }else{
  print("i don't understand $varname is !\n");
}
print("\n**********************************************************\n");

#边界和内部匹配
#\b在单词的边界匹配/\bdef/在单词的左边界匹配,/def\b/在单词的右边界匹配
$name="defint";
$result=($name=~/\bdef/);
print("$result\n");

$name="defintdef";
$result=($name=~/def\b/);
print("$result\n");
print("\n**********************************************************\n");


#\B内部匹配 /\Bdef/只匹配acdef,不匹配def
#/def\B/只匹配defabc
#/\Bdef\B/只匹配cdefg acbdefgi,但不匹配def defgi abcdef

#模式中的变量替换
#将句子分成单词,这个并没有看懂???
$line="nihaoma";
$pattern="[\\t ]+";
@words=split(/$parrern/,$line);
print("@words\n");
print("$line");
print("\n**********************************************************\n");


#字符范围转义
#E转义字符 描述范围
#\d任意数字[0-9]
#\D除数字以外的任意字符[^0-9]
#\w任意单词字符[_a-zA-Z0-9]
#\W任意非单词字符[^_a-zA-Z0-9]
#\s空白[\r\t\n\f]
#\S非空白[^\r\t\n\f]
#例如,匹配任意数字或小写字母
$name="1a23abc";
$result=($name=~/[\da-z]/);
print("$result\n");

print("\n**********************************************************\n");

未完待续!

0 0
原创粉丝点击