Â̲èÈí¼þÔ°
×ÊѶÊ×Ò³> Èí¼þ½Ì³Ì> ±à³Ì¿ª·¢> PythonÕýÔò±í´ïʽµÄʹÓý̳Ì

PythonÕýÔò±í´ïʽµÄʹÓý̳Ì

×÷ÕߣºØýÃûÀ´Ô´£ºÂ̲èÈí¼þÔ°2012-04-04 09:26:26

PythonÕýÔò±í´ïʽ¼òµ¥Ê¹ÓÃ,

Ôª×Ö·û

1.Æ¥ÅäÔª×Ö·û£º

. ËüÆ¥Åä³ýÁË»»ÐÐ×Ö·ûÍâµÄÈκÎ×Ö·û£¬ÔÚ alternate ģʽ£¨re.dotaLL£©ÏÂËüÉõÖÁ¿ÉÒÔÆ¥Åä»»ÐÐ
^ Æ¥ÅäÐÐÊס£³ý·ÇÉèÖà MULTILINE ±êÖ¾£¬ËüÖ»ÊÇÆ¥Åä×Ö·û´®µÄ¿ªÊ¼¡£
$ Æ¥ÅäÐÐ⣬ÐÐβ±»¶¨ÒåΪҪôÊÇ×Ö·û´®Î²£¬ÒªÃ´ÊÇÒ»¸ö»»ÐÐ×Ö·ûºóÃæµÄÈκÎλÖá£
[] ËüÃdz£ÓÃÀ´Ö¸¶¨Ò»¸ö×Ö·ûÀà±ð£¬Ëùν×Ö·ûÀà±ð¾ÍÊÇÄãÏëÆ¥ÅäµÄÒ»¸ö×Ö·û¼¯
\ ·´Ð±¸ÜºóÃæ¿ÉÒÔ¼Ó²»Í¬µÄ×Ö·ûÒÔ±íʾ²»Í¬ÌØÊâÒâÒå¡£ËüÒ²¿ÉÒÔÓÃÓÚÈ¡ÏûËùÓеÄÔª×Ö·û£¬ÕâÑùÄã¾Í¿ÉÒÔÔÚģʽÖÐÆ¥ÅäËüÃÇÁË
| ¿ÉÑ¡Ï»òÕß "or" ²Ù×÷·û¡£
() Ò»°ãÇé¿öϱíʾһ¸ö¼ÇÒä×é (remembered group)¡£Äã¿ÉÒÔÀûÓà re.search º¯Êý·µ»Ø¶ÔÏóµÄ groups() º¯Êý»ñÈ¡ËüµÄÖµ

2.Öظ´Ôª×Ö·û£º

* Öظ´0»òN´Î
+ Öظ´1»òN´Î
? Öظ´0»ò1´Î
{m,n} ¸ÃÏÞ¶¨·ûµÄÒâ˼ÊÇÖÁÉÙÓÐ m ¸öÖظ´£¬ÖÁ¶àµ½ n ¸öÖظ´

3.Óà "\" ¿ªÊ¼µÄÔ¤¶¨Òå×Ö·û¼¯

\d Æ¥ÅäÈκÎÊ®½øÖÆÊý£»ËüÏ൱ÓÚÀà [0-9]¡£
\D Æ¥ÅäÈκηÇÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [^0-9]¡£
\s Æ¥ÅäÈκοհ××Ö·û£»ËüÏ൱ÓÚÀà [ \t\n\r\f\v]¡£
\S Æ¥ÅäÈκηǿհ××Ö·û£»ËüÏ൱ÓÚÀà [^\t\n\r\f\v]¡£
\w Æ¥ÅäÈκÎ×ÖĸÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [a-zA-Z0-9_]¡£
\W Æ¥ÅäÈκηÇ×ÖĸÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [^a-zA-Z0-9_]¡£
\A ֻƥÅä×Ö·û´®Êס£µ±²»ÔÚ MULTILINE ģʽ£¬\A ºÍ ^ ʵ¼ÊÉÏÊÇÒ»ÑùµÄ¡£È»¶ø£¬ÔÚ MULTILINE ģʽÀïËüÃÇÊDz»Í¬µÄ£»\A Ö»ÊÇÆ¥Åä×Ö·û´®Ê×£¬¶ø ^ »¹¿ÉÒÔÆ¥ÅäÔÚ»»ÐзûÖ®ºó×Ö·û´®µÄÈκÎλÖá£
\Z ֻƥÅä×Ö·û´®Î²¡£
\b µ¥´Ê±ß½ç¡£ÕâÊǸöÁã¿í½ç¶¨·û£¨zero-width assertions£©Ö»ÓÃÒÔÆ¥Åäµ¥´ÊµÄ´ÊÊ׺ʹÊβ¡£µ¥´Ê±»¶¨ÒåΪһ¸ö×ÖĸÊý×ÖÐòÁУ¬Òò´Ë´Êβ¾ÍÊÇÓÿհ׷û»ò·Ç×ÖĸÊý×Ö·ûÀ´±êʾµÄ¡£
\B ÁíÒ»¸öÁã¿í½ç¶¨·û£¨zero-width assertions£©£¬ËüÕýºÃͬ \b Ïà·´£¬Ö»ÔÚµ±Ç°Î»Öò»ÔÚµ¥´Ê±ß½çʱƥÅä¡£

×¢£º[akm$]½«Æ¥Åä×Ö·û"a", "k", "m", »ò "$" ÖеÄÈÎÒâÒ»¸ö£»"$"ͨ³£ÓÃ×÷Ôª×Ö·û£¬µ«ÔÚ×Ö·ûÀà±ðÀÆäÌØÐÔ±»³ýÈ¥£¬»Ö¸´³ÉÆÕͨ×Ö·û¡£

RegexObject(re)¶ÔÏó³£Ó÷½·¨

matchObject=re.match(pattern,string,flag='0') £º¾ö¶¨ RE ÊÇ·ñÔÚ×Ö·û´®¸Õ¿ªÊ¼µÄλÖÃÆ¥Åä
matchObject=re.search(pattern,string,flag='0')£ºÉ¨Ãè×Ö·û´®£¬ÕÒµ½Õâ¸ö RE Æ¥ÅäµÄλÖÃ
tuple=re.findall(pattern,string,flag='0') £º ÕÒµ½ RE Æ¥ÅäµÄËùÓÐ×Ó´®£¬²¢°ÑËüÃÇ×÷Ϊһ¸öÁÐ±í·µ»Ø
matchObjectList=re.finditer(pattern,string)£ºÕÒµ½ RE Æ¥ÅäµÄËùÓÐ×Ó´®£¬²¢°ÑËüÃÇ×÷Ϊһ¸öµü´úÆ÷·µ»Ø

MatchObject¶ÔÏóµÄ³£Ó÷½·¨

findstring = matchObject.group() £º·µ»Ø±» RE Æ¥ÅäµÄ×Ö·û´®
i = matchObject.start() £º·µ»ØÆ¥Å俪ʼµÄλÖÃ
i = matchObject.end() £º·µ»ØÆ¥Åä½áÊøµÄλÖÃ
start,end = matchObject.span() £º·µ»ØÒ»¸öÔª×é°üº¬Æ¥Åä (¿ªÊ¼,½áÊø) µÄλÖÃ

±àÒë±êÖ¾

DOTALL, S £ºÊ¹ . Æ¥Åä°üÀ¨»»ÐÐÔÚÄÚµÄËùÓÐ×Ö·û
IGNORECASE, I£º ʹƥÅä¶Ô´óСд²»Ãô¸Ð
LOCALE, L £º×ö±¾µØ»¯Ê¶±ð£¨locale-aware£©Æ¥Åä
MULTILINE, M£º ¶àÐÐÆ¥Å䣬ӰÏì ^ ºÍ $
VERBOSE, X £ºÄܹ»Ê¹Óà REs µÄ verbose ״̬£¬Ê¹Ö®±»×éÖ¯µÃ¸üÇåÎúÒ׶®

ʹÓÃÐĵÃ

1.ÏȱàÒëºóʹÓãºre.compile('pattern')

2.ÇÐÎðÖظ´±àÒ룺·ÅÈëÈ«¾Ö¿Õ¼ä»ò·ÅÈëcell¿Õ¼ä²¢ÊµÀý³öÒ»¸ö±Õ°üʵÀý

  • ÈÈÃÅÈí¼þ
  • ÈÈÃűêÇ©
·µ»Ø¶¥²¿