个人理解-仅做参考-有问题请提出-谢谢
1:/^[Files/ 表示识别 [Files 的字符串,[Files前不能有字符
1
2
3
4
5
6
7
8
9
10
11 1#!/usr/bin/perl
2
3$bar = "[Files]";
4
5print "$bar\n";
6if ($bar =~ /^\[Files/){
7 print "yes\n";
8}else{
9 print "no\n";
10}
11
2:/^..\(.+)\(\w+.h)\s*$/i
识别如下的字符
^ 匹配不符合 [] 内的字符
..\ 匹配..\
(.+) 匹配 1 次或多次的任何字符
\ 匹配\
(\w+.h) 匹配 [a-zA-Z0-9_]+ .h
\s 匹配 空格,和 [\n\t\r\f] 语法一样
* 匹配 0 次或多次的任何字符
$ 匹配字符结尾的字符
i 不考虑英文的大小写问题
1
2
3
4
5
6
7
8
9
10
11
12 1#!/usr/bin/perl
2
3$bar = "..\\blois_code_p_l\\hwi\\hwi_function\\src\\HWI_Aps_Cam_Edge_Accepted.h";
4
5print "$bar\n";
6if ($bar =~ /^\.\.\\(.+)\\(\w+\.h)\s*$/i){
7 print "yes\n";
8}else{
9 print "no\n";
10}
11
12
3:$1,$2
$1就是第一对小括号中的原符号所对应的匹配内容。
$2就是第二对小括号中的原符号所对应的匹配内容。
1
2
3
4
5
6
7
8
9 1if (/^\.\.\\(.+)\\(\w+\.h)\s*$/i)
2{
3#print "$_";
4my $li = "..\\$1\\$2" ;
5my $hf = "$2" ;
6print "$1\t\t\t";
7print "$2\n";
8}
9