·¢²©ÎÄ
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º47865
  • ²©ÎÄÊýÁ¿£º45
  • ²©¿Í»ý·Ö£º2500
  • ²©¿ÍµÈ¼¶£ºÉÙУ
  • ×¢²áʱ¼ä£º2007-11-07 21:45:08
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
·ÖÀࣺ perl

PerlµÄÕýÔò±í´ïʽ¹¦ÄÜÊ®·ÖÇ¿´ó£¬»ù±¾ÉÏÊdz£ÓÃÓïÑÔÖÐ×îÇ¿´óµÄ£¬ºÜ¶àÓïÑÔÈçJavaÉè¼ÆÕýÔòʽ֧³ÖµÄʱºò¶¼²Î¿¼PerlÕýÔò±í´ïʽ¡£±¾ÎĽéÉÜPerlÕýÔò±í´ïʽÖÐ×î»ù±¾¡¢×î³£ÓõIJ¿·Ö¡£

Ò»¡¢ÕýÔò±í´ïʽÔËËã·û

=~ ÕýÔò±í´ïʽƥÅäÔËËã·û£¬×ó±ßÊÇ´ýÆ¥Åä×Ö·û´®£¬ÓÒ±ßÊÇÕýÔò±í´ïʽ£¬Æ¥Åä½á¹ûÉèÖÃÔÚ$1,$2µÈ±äÁ¿ÖУ¬ÔÚscalerÉÏÏÂÎÄÖУ¬³É¹¦Æ¥Åä·µ»ØÆ¥Åä¸öÊý£¬·ñÔò·µ»Øfalse¡£ÀýÈç $var =~ /foo/;

!~ ÕýÔò±í´ïʽƥÅäÔËËã·û£¬ºÍ=~ ²»Í¬µÄÊÇËüºöÂÔÆ¥Åä½á¹û£¬ÇÒ·µ»ØÖµÏà·´¡£ÀýÈç $var !~ /foo/;

ÕýÔò±í´ïʽÔËËã·ûÓÒ±ßÊÇÕýÔò±í´ïʽ£¬ÓÐÈçÏÂÈýÖÖÐÎʽ£º
1. Æ¥Åäģʽ m/pattern/igmsoxc
      m±íʾmatch£¬patternÊÇÕýÔòʽÄÚÈÝ£¬·Ö¸ô·û/¿ÉÒÔÓÃÈÎÒâÆäËû×Ö·ûÈç#Ìæ»»£¬igmsoxcÊÇ¿ÉÑ¡µÄ²ÎÊý£¬ÒâÒåÈçÏ£º
        i ºöÂÔ´óСд
        g Æ¥ÅäËùÓзûºÏµÄ£¨Ä¬ÈÏÊÇÆ¥ÅäµÚÒ»¸ö·ûºÏµÄ£©
        m ¶àÐÐģʽ£¬^ºÍ$·Ö±ðÆ¥ÅäÐеĿªÊ¼ºÍ½áβ£¨Ä¬ÈÏÆ¥Åä×Ö·û´®µÄ¿ªÊ¼ºÍ½á⣩
        s µ¥ÐÐģʽ£¬¡°.¡± Æ¥Åä¡°\n¡±£¨Ä¬Èϲ»Æ¥Å䣩
        o compile pattern Once
        x eXtended legibility - free whitespace and comments
        c don't reset pos on failed matches when using /g

2. ´æ´¢Ä£Ê½ qr/pattern/imsox
      qr½«ÕýÔò±í´ïʽ´æ´¢µ½Ò»¸ö±äÁ¿ÖУ¬ÕâÑù¿ÉÒÔ·´¸´Ê¹Ó㬿ÉÑ¡ÏîÒâÒåÓëmÏàͬ

3. Ìæ»»Ä£Ê½ s/pattern/replacement/igmsoxe
      s´ú±ísubstitutes£¬½«Æ¥ÅäµÄģʽpatternÌæ»»Îªreplacement£¬¶àÁËÒ»¸ö¿ÉÑ¡Ï
        e ½«replacement×÷Ϊһ¸ö±í´ïʽִÐÐ

4. Ò»´ÎÐÔÆ¥Åäģʽ ?pattern?
ºÍm/pattern/Ïàͬ£¬µ«ÊÇÖ»½øÐÐÒ»´ÎÆ¥Å䣬?²»ÄÜÓÃÆäËû·Ö¸ô·ûÌæ»»



¶þ¡¢»ù±¾Óï·¨ÔªËØ

   \       ×Ö·ûתÒå
   .       Æ¥Åä³ý\nÍâµÄÈÎÒâ×Ö·û
   ^       Æ¥ÅäÐлò×Ö·û´®¿ªÍ·
   $       Æ¥ÅäÐлò×Ö·û´®½áβ
   *       0¸ö»ò¶à¸ö
   +       1¸ö»ò¶à¸ö
   ?       0¸ö»ò1¸ö
   {...}   Ö¸¶¨¸öÊý
   [...]   ×Ö·ûÀ࣬ƥÅäÀ¨ºÅÖеÄÈÎÒâÒ»×Ö·û
   (...)   Æ¥Åä×飬ƥÅäºó¿ÉÒÔÓÃ$1,$2µÈ»ñÈ¡ÏàÓ¦µÄÆ¥Åä×é
   (?:...) ¾Û¼¯£¬Æ¥Åäºó²»ÄÜ$1,$2µÈ»ñÈ¡ÏàÓ¦µÄÆ¥Åä×飬ËÙ¶È»á¿ìЩ
   |       ǰÕß»òºóÕߣ¬Ò»°ãºÍÀ¨»¡ÅäºÏʹÓÃ
   \1, \2 ... ÕýÔòʽÖз´ÒýÓÃÆ¥Åä×é


Èý¡¢³£¼ûתÒå×Ö·û

   \a       Alarm (beep)
   \e       Escape
   \f       Formfeed
   \n       Newline
   \r       Carriage return
   \t       Tab
   \037     Any octal ASCII value
   \x7f     Any hexadecimal ASCII value
   \x{263a} A wide hexadecimal value
   \cx      Control-x
   \N{name} A named character

   \l Lowercase next character
   \u Titlecase next character
   \L Lowercase until \E
   \U Uppercase until \E
   \Q Disable pattern metacharacters until \E
   \E End case modification
   \b word boudariy


ËÄ¡¢×Ö·ûÀà

   [...]Æ¥ÅäÀ¨ºÅÖеÄÈÎÒâÒ»¸ö×Ö·û£¬µ«Êǵ±µÚÒ»¸ö×Ö·ûÊÇ^ʱÊÇÏà·´µÄ£¬Æ¥Åä³ýÁËÀ¨ºÅÖеÄ×Ö·ûÍâµÄÈÎÒâ×Ö·û¡£ÁíÍ⻹ÓÐa-zÕâÑùµÄ¼òд·½Ê½´úÌæaµ½zµÄËùÓÐ×Ö·û¡£ÀýÈ磺
   [amy]    Match 'a', 'm' or 'y'
   [f-j]    Dash specifies "range"
   [f-j-]   Dash escaped or at start or end means 'dash'
   [^f-j]   Caret indicates "match any character _except_ these"

   һЩ×Ö·ûÀàÓиü¼òµ¥µÄ±í´ï·½Ê½£¬È磺
   \d      A digit                     [0-9]
   \D     A nondigit                  [^0-9]
   \w      A word character            [a-zA-Z0-9_]
   \W     A non-word character        [^a-zA-Z0-9_]
   \s      A whitespace character      [ \t\n\r\f]
   \S      A non-whitespace character [^ \t\n\r\f]


Îå¡¢ÌØÊâ±ê¼Ç

   ^ Match string start (or line, if /m is used)
   $ Match string end (or line, if /m is used) or before newline
   \b Match word boundary (between \w and \W)
   \B Match except at word boundary (between \w and \w or \W and \W)
   \A Match string start (regardless of /m)
   \Z Match string end (before optional newline)
   \z Match absolute string end
   \G Match where previous m//g left off



Áù¡¢Öظ´

   Maximal Minimal Allowed range
   ------- ------- -------------
   {n,m}   {n,m}? Must occur at least n times but no more than m times
   {n,}    {n,}?   Must occur at least n times
   {n}     {n}?    Must occur exactly n times
   *       *?      0 or more times (same as {0,})
   +       +?      1 or more times (same as {1,})
   ?       ??      0 or 1 time (same as {0,1})

ǰһƪ£ºPerl°üºÍÄ£¿é
[·¢ÆÀÂÛ] ÆÀÂÛ ÖØÒªÌáʾ£º¾¯ÌèÐé¼ÙÖн±ÐÅÏ¢!
  • aXinNo1 2009-07-28 10:51
    ÉÏÃæµÄ֪ʶµãÌ«³éÏóÁË£¬Ö»ÄÜ¿´¶®Ò»µã
  • aXinNo1 2009-07-28 10:05
    Õâ¸öÎҺܸÐÐËȤ£¬ÄãÊÇ·ñÄܸøÎÒ·¢µãperl µÄÏêϸÀý×Ó£¬ÎÒµÄÓÊÏäÊÇ1115977631@qq.com
Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ