Address: http://man.chinacode.com/perl/perl6.htm
Title: PerlÖÐÎÄÊÖ²á  •  Size: 20631  •  Last Modified: Sun, 11 Jun 2006 06:54:10 GMT
¡¡

Perl 5½Ì³Ì
by chinacode

Ŀ¼

µÚÒ»²¿·Ö PerlÓïÑÔ

µÚÒ»Õ ¸ÅÊö

µÚ¶þÕ ¼òµ¥±äÁ¿

µÚÈýÕÂ ²Ù×÷·û

µÚËÄÕ ÁбíºÍÊý×é±äÁ¿

µÚÎåÕ Îļþ¶Áд

µÚÁùÕ ģʽƥÅä

µÚÆßÕ ¿ØÖƽṹ

µÚ°ËÕ ×Ó³ÌÐò

µÚ¾ÅÕ ¹ØÁªÊý×é(¹þÏ£±í)

µÚʮՠ¸ñʽ»¯Êä³ö

µÚʮһÕ Îļþϵͳ

µÚÊ®¶þÕÂ ÒýÓÃ(Ö¸Õë)

µÚÊ®ÈýÕÂ ÃæÏò¶ÔÏó±à³Ì

µÚÊ®ËÄÕ °üºÍÄ£¿é

¸½Â¼Ò» º¯Êý¼¯

µÚ¶þ²¿·Ö PerlµÄCGIÓ¦ÓÃ

µÚÒ»ÕÂ cgilibÀý

µÚ¶þÕ ¶¯Ì¬´´½¨Í¼Ïñ

µÚÈýÕ ¼ÆÊýÆ÷µÄ±àд·½·¨

µÚËÄÕÂ Web ServerÉèÖÃ

µÚÎåÕ¡¢...
¡¡

µÚÁùÕ ģʽƥÅä

by chinacode

Ò»¡¢¼ò½é
¶þ¡¢Æ¥Åä²Ù×÷·û
Èý¡¢Ä£Ê½ÖеÄÌØÊâ×Ö·û
  1¡¢×Ö·û+
  2¡¢×Ö·û []ºÍ[^]
  3¡¢×Ö·û *ºÍ?
  4¡¢×ªÒå×Ö·û
  5¡¢Æ¥ÅäÈÎÒâ×Öĸ»òÊý×Ö
  6¡¢ÃªÄ£Ê½
  7¡¢Ä£Ê½ÖеıäÁ¿Ìæ»»
  8¡¢×Ö·û·¶Î§×ªÒåǰ׺
  9¡¢Æ¥ÅäÈÎÒâ×Ö·û
  10¡¢Æ¥ÅäÖ¸¶¨ÊýÄ¿µÄ×Ö·û
  11¡¢Ö¸¶¨Ñ¡Ïî
  12¡¢Ä£Ê½µÄ²¿·ÖÖØÓÃ
  13¡¢×ªÒåºÍÌØ¶¨×Ö·ûµÄÖ´ÐдÎÐò
  14¡¢Ö¸¶¨Ä£Ê½¶¨½ç·û
  15¡¢Ä£Ê½´ÎÐò±äÁ¿
ËÄ¡¢Ä£Ê½Æ¥ÅäÑ¡Ïî
  1¡¢Æ¥ÅäËùÓпÉÄܵÄģʽ(gÑ¡Ïî)
  2¡¢ºöÂÔ´óСд(iÑ¡Ïî)Àý
  3¡¢½«×Ö·û´®¿´×÷¶àÐÐ(mÑ¡Ïî)
  4¡¢Ö»Ö´ÐÐÒ»´Î±äÁ¿Ìæ»»Àý
  5¡¢½«×Ö·û´®¿´×÷µ¥ÐÐÀý
  6¡¢ÔÚģʽÖкöÂÔ¿Õ¸ñ
Îå¡¢Ìæ»»²Ù×÷·û
Áù¡¢·­Òë²Ù×÷·û
Æß¡¢À©Õ¹Ä£Ê½Æ¥Åä
  1¡¢²»´æÖüÀ¨ºÅÄ򵀮¥ÅäÄÚÈÝ
  2¡¢ÄÚǶģʽѡÏî
  3¡¢¿Ï¶¨µÄºÍ·ñ¶¨µÄÔ¤¼ûÆ¥Åä
  4¡¢Ä£Ê½×¢ÊÍ


Ò»¡¢¼ò½é
   ģʽָÔÚ×Ö·û´®ÖÐѰÕÒµÄÌØ¶¨ÐòÁеÄ×Ö·û£¬ÓÉ·´Ð±Ïß°üº¬£º/def/¼´Ä£Ê½def¡£ÆäÓ÷¨Èç½áºÏº¯Êýsplit½«×Ö·û´®ÓÃijģʽ·Ö³É¶à¸öµ¥´Ê£º@array = split(/ /, $line);
¶þ¡¢Æ¥Åä²Ù×÷·û =~¡¢!~
   =~¼ìÑ鯥ÅäÊÇ·ñ³É¹¦£º$result = $var =~ /abc/;ÈôÔÚ¸Ã×Ö·û´®ÖÐÕÒµ½Á˸Ãģʽ£¬Ôò·µ»Ø·ÇÁãÖµ£¬¼´true£¬²»Æ¥ÅäÔò·µ»Ø0£¬¼´false¡£!~ÔòÏà·´¡£
   ÕâÁ½¸ö²Ù×÷·ûÊÊÓÚÌõ¼þ¿ØÖÆÖУ¬È磺
   if ($question =~ /please/) {
     print ("Thank you for being polite!\n");
   }
   else {
     print ("That was not very polite!\n");
   }
Èý¡¢Ä£Ê½ÖеÄÌØÊâ×Ö·û
   PERLÔÚģʽÖÐÖ§³ÖÒ»Ð©ÌØÊâ×Ö·û£¬¿ÉÒÔÆðµ½Ò»Ð©ÌØÊâµÄ×÷Óá£
1¡¢×Ö·û +
   +Òâζ×ÅÒ»¸ö»ò¶à¸öÏàͬµÄ×Ö·û£¬È磺/de+f/Ö¸def¡¢deef¡¢deeeeefµÈ¡£Ëü¾¡Á¿Æ¥Å価¿ÉÄܶàµÄÏàͬ×Ö·û£¬Èç/ab+/ÔÚ×Ö·û´®abbcÖÐÆ¥ÅäµÄ½«ÊÇabb£¬¶ø²»ÊÇab¡£
   µ±Ò»ÐÐÖи÷µ¥´Ê¼äµÄ¿Õ¸ñ¶àÓÚÒ»¸öʱ£¬¿ÉÒÔÈçÏ·ָ
     @array = split (/ +/, $line);
   ×¢£ºsplitº¯Êýÿ´ÎÓöµ½·Ö¸îģʽ£¬×ÜÊÇ¿ªÊ¼Ò»¸öе¥´Ê£¬Òò´ËÈô$lineÒÔ¿Õ¸ñ´òÍ·£¬Ôò@arrayµÄµÚÒ»¸öÔªËØ¼´Îª¿ÕÔªËØ¡£µ«Æä¿ÉÒÔÇø·ÖÊÇ·ñÕæÓе¥´Ê£¬ÈçÈô$lineÖÐÖ»Óпոñ£¬Ôò@arrayÔòΪ¿ÕÊý×é¡£ÇÒÉÏÀýÖÐTAB×Ö·û±»µ±×÷Ò»¸öµ¥´Ê¡£×¢ÒâÐÞÕý¡£
2¡¢×Ö·û []ºÍ[^]
   []Òâζ×ÅÆ¥ÅäÒ»×é×Ö·ûÖеÄÒ»¸ö£¬Èç/a[0123456789]c/½«Æ¥Åäa¼ÓÊý×Ö¼ÓcµÄ×Ö·û´®¡£Óë+ÁªºÏʹÓÃÀý£º/d[eE]+f/Æ¥Åädef¡¢dEf¡¢deef¡¢dEdf¡¢dEEEeeeEefµÈ¡£^±íʾ³ýÆäÖ®ÍâµÄËùÓÐ×Ö·û£¬È磺/d[^deE]f/Æ¥Åäd¼Ó·Çe×Ö·û¼ÓfµÄ×Ö·û´®¡£
3¡¢×Ö·û *ºÍ?
   ËüÃÇÓë+ÀàËÆ£¬Çø±ðÔÚÓÚ*Æ¥Åä0¸ö¡¢1¸ö»ò¶à¸öÏàͬ×Ö·û£¬?Æ¥Åä0¸ö»ò1¸ö¸Ã×Ö·û¡£Èç/de*f/Æ¥Åädf¡¢def¡¢deeeefµÈ£»/de?f/Æ¥Åädf»òdef¡£
4¡¢×ªÒå×Ö·û
   Èç¹ûÄãÏëÔÚģʽÖаüº¬Í¨³£±»¿´×÷ÌØÊâÒâÒåµÄ×Ö·û£¬ÐëÔÚÆäǰ¼ÓбÏß"\"¡£È磺/\*+/ÖÐ\*¼´±íʾ×Ö·û*£¬¶ø²»ÊÇÉÏÃæÌáµ½µÄÒ»¸ö»ò¶à¸ö×Ö·ûµÄº¬Ò塣бÏߵıíʾΪ/\\/¡£ÔÚPERL5ÖпÉÓÃ×Ö·û¶Ô\QºÍ\EÀ´×ªÒå¡£
5¡¢Æ¥ÅäÈÎÒâ×Öĸ»òÊý×Ö
   ÉÏÃæÌᵽģʽ/a[0123456789]c/Æ¥Åä×Öĸa¼ÓÈÎÒâÊý×Ö¼ÓcµÄ×Ö·û´®£¬ÁíÒ»ÖÖ±íʾ·½·¨Îª£º/a[0-9]c/£¬ÀàËÆµÄ£¬[a-z]±íʾÈÎÒâСд×Öĸ£¬[A-Z]±íʾÈÎÒâ´óд×Öĸ¡£ÈÎÒâ´óСд×Öĸ¡¢Êý×ֵıíʾ·½·¨Îª£º/[0-9a-zA-Z]/¡£
6¡¢ÃªÄ£Ê½

ê ÃèÊö
^ »ò \A ½öÆ¥Åä´®Ê×
$ »ò \Z ½öÆ¥Å䴮β
\b Æ¥Åäµ¥´Ê±ß½ç
\B µ¥´ÊÄÚ²¿Æ¥Åä

   Àý1£º/^def/ֻƥÅäÒÔdef´òÍ·µÄ×Ö·û´®£¬/$def/ֻƥÅäÒÔdef½áβµÄ×Ö·û´®£¬½áºÏÆðÀ´µÄ/^def$/ֻƥÅä×Ö·û´®def(?)¡£\AºÍ\ZÔÚ¶àÐÐÆ¥ÅäʱÓë^ºÍ$²»Í¬¡£
   Àý2£º¼ìÑé±äÁ¿ÃûµÄÀàÐÍ£º
     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 what $varname is.\n");
    }
   Àý3£º\bÔÚµ¥´Ê±ß½çÆ¥Å䣺/\bdef/Æ¥ÅädefºÍdefghiµÈÒÔdef´òÍ·µÄµ¥´Ê£¬µ«²»Æ¥Åäabcdef¡£/def\b/Æ¥ÅädefºÍabcdefµÈÒÔdef½áβµÄµ¥´Ê£¬µ«²»Æ¥Åädefghi£¬/\bdef\b/ֻƥÅä×Ö·û´®def¡£×¢Ò⣺/\bdef/¿ÉÆ¥Åä$defghi£¬ÒòΪ$²¢²»±»¿´×÷Êǵ¥´ÊµÄ²¿·Ö¡£
   Àý4£º\BÔÚµ¥´ÊÄÚ²¿Æ¥Å䣺/\Bdef/Æ¥ÅäabcdefµÈ£¬µ«²»Æ¥Åädef£»/def\B/Æ¥ÅädefghiµÈ£»/\Bdef\B/Æ¥Åäcdefg¡¢abcdefghiµÈ£¬µ«²»Æ¥Åädef,defghi,abcdef¡£
7¡¢Ä£Ê½ÖеıäÁ¿Ìæ»»
   ½«¾ä×ӷֳɵ¥´Ê£º
     $pattern = "[\\t ]+";
     @words = split(/$pattern/, $line);
8¡¢×Ö·û·¶Î§×ªÒå

E תÒå×Ö·û ÃèÊö ·¶Î§
\d ÈÎÒâÊý×Ö [0-9]
\D ³ýÊý×ÖÍâµÄÈÎÒâ×Ö·û [^0-9]
\w ÈÎÒâµ¥´Ê×Ö·û [_0-9a-zA-Z]
\W ÈÎÒâ·Çµ¥´Ê×Ö·û [^_0-9a-zA-Z]
\s ¿Õ°× [ \r\t\n\f]
\S ·Ç¿Õ°× [^ \r\t\n\f]

   Àý£º/[\da-z]/Æ¥ÅäÈÎÒâÊý×Ö»òСд×Öĸ¡£
9¡¢Æ¥ÅäÈÎÒâ×Ö·û
   ×Ö·û"."Æ¥Åä³ý»»ÐÐÍâµÄËùÓÐ×Ö·û£¬Í¨³£Óë*ºÏÓá£
10¡¢Æ¥ÅäÖ¸¶¨ÊýÄ¿µÄ×Ö·û
   ×Ö·û¶Ô{}Ö¸¶¨ËùÆ¥Åä×Ö·ûµÄ³öÏÖ´ÎÊý¡£È磺/de{1,3}f/Æ¥Åädef,deefºÍdeeef£»/de{3}f/Æ¥Åädeeef£»/de{3,}f/Æ¥Åä²»ÉÙÓÚ3¸öeÔÚdºÍfÖ®¼ä£»/de{0,3}f/Æ¥Åä²»¶àÓÚ3¸öeÔÚdºÍfÖ®¼ä¡£
11¡¢Ö¸¶¨Ñ¡Ïî
   ×Ö·û"|"Ö¸¶¨Á½¸ö»ò¶à¸öÑ¡ÔñÀ´Æ¥Åäģʽ¡£È磺/def|ghi/Æ¥Åädef»òghi¡£
   Àý£º¼ìÑéÊý×Ö±íʾºÏ·¨ÐÔ
   if ($number =~ /^-?\d+$|^-?0[xX][\da-fa-F]+$/) {
     print ("$number is a legal integer.\n");
   } else {
     print ("$number is not a legal integer.\n");
   }
   ÆäÖÐ ^-?\d+$ Æ¥ÅäÊ®½øÖÆÊý×Ö£¬^-?0[xX][\da-fa-F]+$ Æ¥ÅäÊ®Áù½øÖÆÊý×Ö¡£
12¡¢Ä£Ê½µÄ²¿·ÖÖØÓÃ
   µ±Ä£Ê½ÖÐÆ¥ÅäÏàͬµÄ²¿·Ö³öÏÖ¶à´Îʱ£¬¿ÉÓÃÀ¨ºÅÀ¨ÆðÀ´£¬ÓÃ\nÀ´¶à´ÎÒýÓã¬ÒÔ¼ò»¯±í´ïʽ£º
/\d{2}([\W])\d{2}\1\d{2}/ Æ¥Å䣺
     12-05-92
     26.11.87
     07 04 92µÈ
   ×¢Ò⣺/\d{2}([\W])\d{2}\1\d{2}/ ²»Í¬ÓÚ/(\d{2})([\W])\1\2\1/ £¬ºóÕßֻƥÅäÐÎÈç17-17-17µÄ×Ö·û´®£¬¶ø²»Æ¥Åä17-05-91µÈ¡£
13¡¢×ªÒåºÍÌØ¶¨×Ö·ûµÄÖ´ÐдÎÐò
   Ïó²Ù×÷·ûÒ»Ñù£¬×ªÒåºÍÌØ¶¨×Ö·ûÒ²ÓÐÖ´ÐдÎÐò£º

ÌØÊâ×Ö·û ÃèÊö
() ģʽÄÚ´æ
+ * ? {} ³öÏÖ´ÎÊý
^ $ \b \B ê
| Ñ¡Ïî

14¡¢Ö¸¶¨Ä£Ê½¶¨½ç·û
   ȱʡµÄ£¬Ä£Ê½¶¨½ç·ûΪ·´Ð±Ïß/£¬µ«Æä¿ÉÓÃ×Öĸm×ÔÐÐÖ¸¶¨£¬È磺
     m!/u/jqpublic/perl/prog1! µÈ¼ÛÓÚ/\/u\/jqpublic\/perl\/prog1/
   ×¢£ºµ±ÓÃ×Öĸ'×÷Ϊ¶¨½ç·ûʱ£¬²»×ö±äÁ¿Ìæ»»£»µ±ÓÃÌØÊâ×Ö·û×÷Ϊ¶¨½ç·ûʱ£¬ÆäתÒ幦ÄÜ»òÌØÊ⹦Äܼ´²»ÄÜʹÓá£
15¡¢Ä£Ê½´ÎÐò±äÁ¿
   ÔÚģʽƥÅäºóµ÷ÓÃÖØÓò¿·ÖµÄ½á¹û¿ÉÓñäÁ¿$n£¬È«²¿µÄ½á¹ûÓñäÁ¿$&¡£
     $string = "This string contains the number 25.11.";
     $string =~ /-?(\d+)\.?(\d+)/; # Æ¥Åä½á¹ûΪ25.11
     $integerpart = $1; # now $integerpart = 25
     $decimalpart = $2; # now $decimalpart = 11
     $totalpart = $&; # now totalpart = 25.11
ËÄ¡¢Ä£Ê½Æ¥ÅäÑ¡Ïî

Ñ¡Ïî ÃèÊö
g Æ¥ÅäËùÓпÉÄܵÄģʽ
i ºöÂÔ´óСд
m ½«´®ÊÓΪ¶àÐÐ
o Ö»¸³ÖµÒ»´Î
s ½«´®ÊÓΪµ¥ÐÐ
x ºöÂÔģʽÖеĿհ×

1¡¢Æ¥ÅäËùÓпÉÄܵÄģʽ(gÑ¡Ïî)
   @matches = "balata" =~ /.a/g; # now @matches = ("ba", "la", "ta")
   Æ¥ÅäµÄÑ­»·£º
   while ("balata" =~ /.a/g) {
     $match = $&;
     print ("$match\n");
   }
   ½á¹ûΪ£º
     ba
     la
     ta
   µ±Ê¹ÓÃÁËÑ¡Ïîgʱ£¬¿ÉÓú¯ÊýposÀ´¿ØÖÆÏÂ´ÎÆ¥ÅäµÄÆ«ÒÆ£º
     $offset = pos($string);
     pos($string) = $newoffset;
2¡¢ºöÂÔ´óСд(iÑ¡Ïî)Àý
   /de/i Æ¥Åäde,dE,DeºÍDE¡£
3¡¢½«×Ö·û´®¿´×÷¶àÐÐ(mÑ¡Ïî)
   ÔÚ´ËÇé¿öÏ£¬^·ûºÅÆ¥Åä×Ö·û´®µÄÆðʼ»òеÄÒ»ÐÐµÄÆðʼ£»$·ûºÅÆ¥ÅäÈÎÒâÐеÄĩβ¡£
4¡¢Ö»Ö´ÐÐÒ»´Î±äÁ¿Ìæ»»Àý
   $var = 1;
   $line = <STDIN>;
   while ($var < 10) {
     $result = $line =~ /$var/o;
     $line = <STDIN>;
     $var++;
   }
   ÿ´Î¾ùÆ¥Åä/1/¡£
5¡¢½«×Ö·û´®¿´×÷µ¥ÐÐÀý
   /a.*bc/sÆ¥Åä×Ö·û´®axxxxx \nxxxxbc£¬µ«/a.*bc/Ôò²»Æ¥Åä¸Ã×Ö·û´®¡£
6¡¢ÔÚģʽÖкöÂÔ¿Õ¸ñ
   /\d{2} ([\W]) \d{2} \1 \d{2}/xµÈ¼ÛÓÚ/\d{2}([\W])\d{2}\1\d{2}/¡£
Îå¡¢Ìæ»»²Ù×÷·û
   Ó﷨Ϊs/pattern/replacement/£¬ÆäЧ¹ûΪ½«×Ö·û´®ÖÐÓëpatternÆ¥ÅäµÄ²¿·Ö»»³Éreplacement¡£È磺
     $string = "abc123def";
     $string =~ s/123/456/; # now $string = "abc456def";
   ÔÚÌæ»»²¿·Ö¿ÉʹÓÃģʽ´ÎÐò±äÁ¿$n£¬Èçs/(\d+)/[$1]/£¬µ«ÔÚÌæ»»²¿·Ö²»Ö§³ÖģʽµÄÌØÊâ×Ö·û£¬Èç{},*,+µÈ£¬Èçs/abc/[def]/½«°ÑabcÌæ»»Îª[def]¡£
   Ìæ»»²Ù×÷·ûµÄÑ¡ÏîÈçÏÂ±í£º

Ñ¡Ïî ÃèÊö
g ¸Ä±äģʽÖеÄËùÓÐÆ¥Åä
i ºöÂÔģʽÖеĴóСд
e Ìæ»»×Ö·û´®×÷Ϊ±í´ïʽ
m ½«´ýÆ¥Åä´®ÊÓΪ¶àÐÐ
o ½ö¸³ÖµÒ»´Î
s ½«´ýÆ¥Åä´®ÊÓΪµ¥ÐÐ
x ºöÂÔģʽÖеĿհ×

   ×¢£ºeÑ¡Ïî°ÑÌæ»»²¿·ÖµÄ×Ö·û´®¿´×÷±í´ïʽ£¬ÔÚÌæ»»Ö®Ç°ÏȼÆËãÆäÖµ£¬È磺
     $string = "0abc1";
     $string =~ s/[a-zA-Z]+/$& x 2/e; # now $string = "0abcabc1"
Áù¡¢·­Òë²Ù×÷·û
   ÕâÊÇÁíÒ»ÖÖÌæ»»·½Ê½£¬Óï·¨È磺tr/string1/string2/¡£Í¬Ñù£¬string2ÎªÌæ»»²¿·Ö£¬µ«ÆäЧ¹ûÊǰÑstring1ÖеĵÚÒ»¸ö×Ö·ûÌæ»»Îªstring2ÖеĵÚÒ»¸ö×Ö·û£¬°Ñstring1Öеĵڶþ¸ö×Ö·ûÌæ»»Îªstring2Öеĵڶþ¸ö×Ö·û£¬ÒÀ´ËÀàÍÆ¡£È磺
     $string = "abcdefghicba";
     $string =~ tr/abc/def/; # now string = "defdefghifed"
   µ±string1±Èstring2³¤Ê±£¬Æä¶àÓà×Ö·ûÌæ»»Îªstring2µÄ×îºóÒ»¸ö×Ö·û£»µ±string1ÖÐͬһ¸ö×Ö·û³öÏÖ¶à´Îʱ£¬½«Ê¹ÓõÚÒ»¸öÌæ»»×Ö·û¡£
   ·­Òë²Ù×÷·ûµÄÑ¡ÏîÈçÏ£º

Ñ¡Ïî ÃèÊö
c ·­ÒëËùÓÐδָ¶¨×Ö·û
d ɾ³ýËùÓÐÖ¸¶¨×Ö·û
s °Ñ¶à¸öÏàͬµÄÊä³ö×Ö·ûËõ³ÉÒ»¸ö

   Èç$string =~ tr/\d/ /c;°ÑËùÓзÇÊý×Ö×Ö·ûÌæ»»Îª¿Õ¸ñ¡£$string =~ tr/\t //d£»É¾³ýtabºÍ¿Õ¸ñ£»  $string =~ tr/0-9/ /cs£»°ÑÊý×Ö¼äµÄÆäËü×Ö·ûÌæ»»ÎªÒ»¸ö¿Õ¸ñ¡£

Æß¡¢À©Õ¹Ä£Ê½Æ¥Åä
   PERLÖ§³ÖPERL4ºÍ±ê×¼UNIXģʽƥÅä²Ù×÷ËùûÓеÄһЩģʽƥÅäÄÜÁ¦¡£ÆäÓ﷨Ϊ£º(?<c>pattern)£¬ÆäÖÐcÊÇÒ»¸ö×Ö·û£¬patternÊÇÆð×÷ÓõÄģʽ»ò×Óģʽ¡£
1¡¢²»´æÖüÀ¨ºÅÄ򵀮¥ÅäÄÚÈÝ
   ÔÚPERLµÄģʽÖУ¬À¨ºÅÄÚµÄ×Óģʽ½«´æÖüÔÚÄÚ´æÖУ¬´Ë¹¦Äܼ´È¡Ïû´æÖü¸ÃÀ¨ºÅÄ򵀮¥ÅäÄÚÈÝ£¬Èç/(?:a|b|c)(d|e)f\1/ÖеÄ\1±íʾÒÑÆ¥ÅäµÄd»òe£¬¶ø²»ÊÇa»òb»òc¡£
2¡¢ÄÚǶģʽѡÏî
   ͨ³£Ä£Ê½Ñ¡ÏîÖÃÓÚÆäºó£¬ÓÐËĸöÑ¡Ïi¡¢m¡¢s¡¢x¿ÉÒÔÄÚǶʹÓã¬Ó﷨Ϊ£º/(?option)pattern/£¬µÈ¼ÛÓÚ/pattern/option¡£
3¡¢¿Ï¶¨µÄºÍ·ñ¶¨µÄÔ¤¼ûÆ¥Åä
   ¿Ï¶¨µÄÔ¤¼ûÆ¥ÅäÓ﷨Ϊ/pattern(?=string)/£¬ÆäÒâÒåΪƥÅäºóÃæÎªstringµÄģʽ£¬Ïà·´µÄ£¬(?!string)ÒâÒåΪƥÅäºóÃæ·ÇstringµÄģʽ£¬È磺
     $string = "25abc8";
     $string =~ /abc(?=[0-9])/;
     $matched = $&; # $&ΪÒÑÆ¥ÅäµÄģʽ£¬´Ë´¦Îªabc£¬¶ø²»ÊÇabc8
4¡¢Ä£Ê½×¢ÊÍ
   PERL5ÖпÉÒÔÔÚģʽÖÐÓÃ?#À´¼Ó×¢ÊÍ£¬È磺
     if ($string =~ /(?i)[a-z]{2,3}(?# match two or three alphabetic characters)/ {
       ...
     }

ÉÏÒ»Õ ÏÂÒ»Õ Ŀ¼