VBAÕýÔò±í´ïʽÈëÃÅÓëÌá¸ß ÏÂÔØ±¾ÎÄ

ÕýÔò±í´ïʽÈëÃÅÓëÌá¸ß

´ïʽµÄËùÓзÖÖ§,ÄÇôËüÊÇÔõÑùÀ´ÊµÏÖÕâÒ»µãµÄÄØ?¼´ÕæÕýµÄ±íÒòÊÇʲô?

ÎÒÃÇÔÙÀ´·ÖÎöËüµÄÆ¥Åä¹ý³Ì: µ±ÒýÇæ´¦ÓÚÎı¾¿ªÊ¼Õâ¸öλÖÃʱ(ÆäËüλÖÃÒ²Ò»Ñù),ËüÃæÁÙÁ½ÖÖÑ¡Ôñ:Ò»ÊÇÓÃcatÈ¥³¢ÊÔ,¶þÊÇÓÃcarÈ¥³¢ÊÔ.ÎÒÃÇÖªµÀ¶àÑ¡½á¹¹ÊÇÊ×ÏÈÓÃÇ°ÃæµÄcatÈ¥³¢ÊÔ,.Èç¹ûÓÃcat³¢ÊԳɹ¦ÁË,ÄÇôÒýÇæÐû²¼Æ¥Åä½áÊø;Õâ¸öÀý×ÓµÄʵ¼ÊÆ¥ÅäÇé¿öÔõÑùµÄÄØ?ÔÚ¿ªÊ¼Î»ÖÃ0´¦¡±c¡±Æ¥Åä³É¹¦,ÓÉÓÚ×Ó±í´ïʽ»¹Ã»ÓÐÆ¥ÅäÍê,ËùÒÔÒýÇæÒÆ¶¯µ½ÏÂһλÖÃ1,ҲƥÅä³É¹¦,¼ÌÐøÒÆ¶¯µ½Î»ÖÃ2,¡±t¡±²»ÄÜÆ¥Å䡱r¡±,Æ¥Åäʧ°Ü.ÓÚÊǵÚÒ»¸ö·ÖÖ§ÔÚÎı¾µÄλÖÃ0´¦Æ¥Åäʧ°Ü.

µ½ÕâÀïÎÒÃÇÖªµÀÒýÇæ½«´ÓλÖÃ2»ØÍ˵½Î»ÖÃ0´¦³¢ÊÔÏÂÒ»¸ö·ÖÖ§car.ÊÂʵÉÏ,Òª×öµ½ÕâÒ»µã,ÒýÇæ±ØÐëÔÚ³¢ÊÔµÚÒ»¸ö·ÖÖ§cat֮ǰ,¼Çס»¹ÓÐÒ»¸ö×Ó±í´ïʽ¿ÉÒÔ±¸ÓÃ. Ò²¾ÍÊÇ˵:ÔÚλÖÃ0´¦ÒýÇæÔâÓö¶àÑ¡½á¹¹Ê±,Ëü½«Ôڸô¦´æ´¢ËùÓеĿÉÄÜ;¾¶,³ÆÎª¡±±¸ÓÃ״̬¡±,ÒÔ×¼±¸µ±Ç°Ò»¸ö×Ó±í´ïʽƥÅäʧ°Ü,¶øÄܳ¢ÊÔÏÂÒ»¸ö×Ó±í´ïʽ, ²¢Äܹ»È·¶¨»ØÍ˵ÄλÖÃ;ÔÚÕâͬʱÕýÔò±í´ïʽÖÐÒ²±£´æÁËÒ»¸ö¡±±¸ÓÃ״̬¡±,¼´µÚÒ»¸ö×Ó±í´ïʽ³¢ÊÔʧ°Üºó,¸Ã´ÓÕýÔò±í´ïʽµÄÄĸöλÖÿªÊ¼½øÐеڶþÂÖ³¢ÊÔ.

ÎÒÃǰÑÉÏÃæ¶àÑ¡½á¹¹µÚÒ»´Î³¢ÊÔʧ°Üºó,»ØÍ˵Ĺý³Ì½Ð¡±»ØËÝ¡±.

(2)Á¿´Ê¡±?¡±µÄ»ØËÝ

Àý: ÓÃÕýÔò±í´ïʽ ab?c

·Ö±ðÆ¥ÅäÄ¿±êÎı¾ abc »ò ac

Ê×ÏÈ¿´Æ¥ÅäacµÄÇé¿ö:ÔÚacλÖÃ0´¦Æ¥Åä³É¹¦,ÒýÇæÒÆ¶¯µ½Î»ÖÃ1´¦,ÔÚÕâÀï,ÕýÔò×Ó±í´ïʽ¡±b?¡±ÓÐÁ½ÖÖÑ¡Ôñ,Ò»ÊÇÆ¥Åä0´Îb(¼´²»Æ¥Åäb),¶þÊdz¢ÊÔÒ»´Î. ËùÒÔ,ÒýÇæ½«·Ö±ðÔÚÎı¾ºÍÕýÔòµÄλÖÃ1´¦ÁôÏ¡±±¸ÓÃ״̬¡±;¶ø¡±?¡±ÊÇÓÅÏÈÆ¥ÅäµÄ,ËùÒÔËü½«Ê×Ïȳ¢ÊÔÆ¥ÅäÒ»´Îb,½á¹ûÕýÔòÖеÄb²»ÄÜÆ¥ÅäÎı¾ÖеÄc, ÓÚÊÇÒýÇæ»ØËݳ¢ÊÔµÚ¶þ¸öÑ¡Ôñ,¼´²»Æ¥Åäb;»ØËݵÄλÖÃÊÇ¡±±¸ÓÃ״̬¡±Öд洢µÄλÖÃ1. ÏÔÈ»²»Æ¥ÅäʼÖÕÊdzɹ¦µÄ.ÓÚÊÇÔÚλÖÃ1´¦,ÓÃÕýÔòÖеÄÏÂÒ»¸öÔªËØ¡±c¡±À´³¢ÊÔ,½á¹ûÆ¥Åä³É¹¦.ÒýÇæÍ£Ö¹,Õû¸öÆ¥Å䱨¸æ³É¹¦.

ÔÙ¿´Æ¥ÅäabcµÄÇé¿ö.Ç°ÃæµÄÇé¿öÓëÉÏÃæÒ»ÑùµÄ,Ö±µ½Ê×Ïȳ¢ÊÔÆ¥ÅäÒ»´Îbʱ,½á¹ûÆ¥Åä³É¹¦;ÒýÇæºóÒÆ,Æ¥Åä×Ö·û¡±c¡±,Æ¥Åä³É¹¦.ÓÉÓÚÕýÔò±í´ïʽµÄËùÓÐÔªËØ¶¼µÃµ½³É¹¦Æ¥Åä,Õâʱ½«Åׯú±¸ÓÃ״̬,ÒýÇæ±¨¸æÕû¸öÆ¥Åä³É¹¦.

ÔÚÕâ¸öÀýÖÐ,Ö»Óд洢±¸ÓÃ״̬¹ý³Ì,ûÓС±»ØËÝ¡±¹ý³Ì;ËùÒÔ,¡°»ØËÝ¡±Êǵ±Óжà¸öÑ¡Ôñ,²¢ÇÒÇ°ÃæÑ¡Ôñµ¼ÖÂÕûÌ寥Åäʧ°Üʱ·¢ÉúµÄ.

˼¿¼:

1.Èç¹û¸ÄÓúöÂÔÓÅÏÈÁ¿´Ê,¼´ÓÃÕýÔò±í´ïʽ ab??c

47

VBAƽ̨µÄÕýÔòѧϰ²Î¿¼×ÊÁÏ

·Ö±ðÆ¥Åäabc »ò ac,Çé¿öÊÇÔõÑùµÄ?Çë×Ô¼º·ÖÎö. 2.Èç¹ûÄ¿±êÎı¾ÊÇabx,Çë·ÖÎöÆ¥Åä¹ý³Ì.

(3)Á¿´Ê¡±*¡±µÄ»ØËÝ

ÏÂÃæÍ¼Æ¬Õ¹Ê¾ÕýÔò±í´ïʽ ¡°.*¡± Æ¥ÅäÄ¿±êÎı¾: ¡±ab¡±¡±c¡±

Çë·ÖÎöÓÃÉÏÃæµÄÕýÔò±í´ïʽƥÅäÎı¾: ¡±a¡±bcdefghijk

´ÓÕâ¸öÀý×ÓÖÐÄãµÃµ½Ê²Ã´Æôʾ?ÄãÄܵ÷½ÏÕâ¸öÕýÔò±í´ïʽ,Ìá¸ßËüµÄÆ¥ÅäЧÂÊÂð? ˼¿¼:

Èç¹û¸ÄÓúöÂÔÓÅÏÈÁ¿´ÊµÄÕýÔò±í´ïʽ ¡±.*?¡±

Æ¥ÅäÎı¾¡±ab¡±¡±cd¡± ,½á¹ûÊÇʲô?Çë×Ô¼º·ÖÎö.

Îå. »ØËݵÄ×ܽá

ÔÚÆ¥ÅäµÄ¹ý³ÌÖÐNFAÒýÇæ»áÒÀ´Î´¦ÀíÕýÔò¸÷¸ö×Ó±í´ïʽ»ò×é³ÉÔªËØ.µ±Óöµ½Á¿´Ê»ò¶àÑ¡½á¹¹Ê±,Ëü½«ÃæÁÙÁ½ÖÖ»ò¶àÖÖ³¢ÊÔÑ¡Ôñ.ÕâʱËü»á´æ´¢±¸ÓÃ״̬.¼´Ñ¡ÔñÆäÒ»,ͬʱ¼ÇסÆäËü¿ÉÄܵÄ·¾¶.

²»ÂÛÑ¡ÔñÄÇÒ»ÖÖ;¾¶,Èç¹ûËüÄÜÆ¥Åä³É¹¦,¶øÇÒÕýÔò±í´ïʽµÄÓàϲ¿·ÖÒ²³É¹¦ÁË,Õû¸öÆ¥Åä¼´¸æÍê³É.Èç

48

ÕýÔò±í´ïʽÈëÃÅÓëÌá¸ß

¹ûÕýÔò±í´ïʽÓàϵIJ¿·ÖÆ¥Åäʧ°Ü,ÒýÇæ¾Í»á»ØËݵ½±¸ÓÃ״̬ËùָʾµÄλÖÃ,Ñ¡ÔñÆäËûµÄ±¸Ó÷ÖÖ§¼ÌÐø³¢ÊÔ.ÕâÑùÒýÇæ×îÖÕ¿ÉÄܳ¢ÊÔ±í´ïʽËùÓпÉÄܵÄ;¾¶,Ö±µ½Óàϲ¿·ÖÆ¥Åä³É¹¦,»òËùÓÐ;¾¶³¢ÊÔÍê±Ï¶¼Ê§°Ü,¶øÍ£ÏÂÀ´.

»ØËݵöÒªµã:

(1) Èç¹ûÐèÒªÔÚ¡±½øÐг¢ÊÔ¡±ºÍ¡±Ìø¹ý³¢ÊÔ¡±Ö®¼äÑ¡Ôñ,¶ÔÓÚÆ¥ÅäÓÅÏÈÁ¿´Ê,ÒýÇæ»áÓÅÏÈÑ¡Ôñ¡±½øÐг¢ÊÔ¡±,¶ø¶ÔÓÚºöÂÔÓÅÏÈÁ¿´Ê¡±,»áÑ¡Ôñ¡±Ìø¹ý³¢ÊÔ¡±.

(2) ¶ÔÓÚ¶àÑ¡½á¹¹,ÒýÇæ´ÓÕýÔò±í´ïʽµÄ¿ªÊ¼ÒÀ´Î³¢ÊÔ¸÷×Ó±í´ï.

(3) Èç¹ûÕýÔò±í´ïʽÖÐÓжà¸öÁ¿´Ê»ò¶àÑ¡½á¹¹,¾ÍÒâν×ÅÓжà¸ö¡±±¸ÓÃ״̬¡±.ÖÁÓÚÒýÇæ»ØËÝʱʹÓÃÄĸö¡±±¸ÓÃ״̬¡±,Ô­ÔòÊÇ:¾àÀ뵱ǰ×î½ü´æ´¢µÄÑ¡Ïî¾ÍÊÇ¡±µ±±¾µØÊ§°Üʱ¡±Ç¿ÖÆ»ØËÝʱ·µ»ØµÄ.

(4) ʹÓÃÆ¥ÅäÓÅÏÈ»¹ÊǺöÂÔÓÅÏÈÁ¿´Ê,ÓÐʱ»áµÃµ½²»Í¬µÄÆ¥Åä½á¹û.Èç·Ö±ðÓÃ<.*>»ò<.*?> ȥƥÅäÎı¾aaa. µ«Èç¹ûÖ»ÓÐÒ»Ìõ¿ÉÄܵÄ·¾¶,ÄÇôÎÞÂÛʹÓÃÆ¥ÅäÓÅÏÈ»¹ÊǺöÂÔÁ¿´Ê,Æä×îÖÕÆ¥Åä½á¹û¶¼Ò»Ñù,²»Ò»ÑùµÄÖ»ÊÇÒýÇæÔÚ´ïµ½×îÖÕÆ¥Åä֮ǰÐèÒª³¢ÊԵĴÎÊý.Èç:·Ö±ðÓÃ<.*>»ò<.*?>ȥƥÅäÎı¾.

(5) ÔÚ»·ÊÓµÄÄÚ²¿,Æä×Ó±í´ïʽҲÓпÉÄܰüº¬Á¿´Ê»ò¶àÑ¡½á¹¹,ËüÃǵĻØËÝÔ­ÀíÓëÉÏÃæËùÌÖÂÛµÄÍêȫһÑù.µ«ÒªÌáÐÑÒ»µãµÄÊǵ±ÒýÇæÍ˳ö»·ÊÓʱ,Ëü½«ÅׯúÄÚ²¿µÄËùÓС±±¸ÓÃ״̬¡±.

Áù. »ØËÝÓëЧÂÊ

NFAÖеĻØËÝÊÇÒ»¸öºÃ¶«Î÷£¬¿ÉÒÔΪÕýÔò±í´ïʽ´øÀ´¸ü¶àµÄ¹¦ÄÜ£¬ËüÒ²ÊǺܶàÕýÔòÒýÇæÑ¡ÔñNFAµÄÔ­Òò¡£µ«´ÓÉÏÃæµÄ½éÉÜÖУ¬ÎÒÃÇÒ²Ã÷ÏԸоõµ½£¬»ØËÝÒ²¿ÉÄÜ´øÀ´Ð§ÂʵÄÎÊÌâ¡£ËùÒÔ£¬ÔÚÎÒÃDZàÖÆÕýÔò±í´ïʽʱ£¬Èç¹ûÉæ¼°Á¿´Ê»ò¶àÑ¡½á¹¹£¬¾Í±ØÐë¹Ø×¢ÕýÔò±í´ïʽµÄÐÎʽ£¬¾¡¿ÉÄܼõÉÙ»ØËÝ´ÎÊý¡£

Àý£ºÏÂÃæÈý¸öÕýÔò±í´ïʽÔÚЧ¹ûÉÏÊÇµÈ¼ÛµÄ Jeffrey|Jeffery Jeff(rey|ery) Jeff(re|er)y

ÕâÈý¸ö±í´ïʽÔÚijЩÇé¿öÏÂ,ЧÂÊÊDz»Ò»ÑùµÄ.ÆäÖÐЧÂÊ×î¸ßµÄÊǵÚÈý¸ö±í´ïʽ. ΪÁË˵Ã÷Õâ¸öÎÊÌâ,ÎÒÃǼÙÉèÓÃËüÃÇÀ´Æ¥ÅäÏÂÁÐÄ¿±êÎı¾:

Jeffery and Jeffrey

·ÖÎö:ÓõÚÒ»¸ö±í´ïʽƥÅä,ÔÚλÖÃ0´¦ÁôÏ¡±±¸ÓÃ״̬¡±,ËüµÄµÚÒ»¸ö·ÖÖ§ÔÚλÖÃ4´¦¡±r¡±²»ÄÜÆ¥ÅäÎı¾Öеġ±e¡±,ÓÚÊÇ»ØËÝÑ¡ÔñµÚ¶þ¸ö·ÖÖ§ÖØÐ´ÓλÖÃ0´¦¿ªÊ¼³¢ÊÔ,×îºóÆ¥Åä³É¹¦.ÕÒµ½Îı¾µÄ³É¹¦Æ¥Åä: Jeffery

Èç¹ûÓõÚÈý¸ö±í´ïʽƥÅä,µ±Æ¥Å䵽λÖÃ4ʱ,ÁôÏ¡±±¸ÓÃ״̬¡±. ÓõÚÒ»·ÖÖ§¡±er¡±³¢ÊÔʧ°Ü,Õâʱ»Ø

49

VBAƽ̨µÄÕýÔòѧϰ²Î¿¼×ÊÁÏ

ËÝ,Óõڶþ·ÖÖ§¡±er¡±³¢ÊÔÆ¥Åä³É¹¦.¿ÉÒÔ¿´³öËüµÄ»ØËÝÓëµÚÒ»¸ö±í´ïʽ²»Í¬:²»ÐèÒªÖØÐ»ØÍ˵½Î»ÖÃ0´¦. ´Ó¶ø¼õÉÙÁËÕÒµ½Æ¥ÅäµÄ³¢ÊÔ´ÎÊý.

ÔÚʹÓÃÁ¿´Êʱ,Ò²Òª¹Ø×¢»ØËݵ¼ÖµÄЧÂÊÎÊÌâ,Èç¹û¿ÉÄܾ¡Á¿ÓÃÌæ´ú·½·¨. Ç°Ãæ¶à´ÎÓöµ½µÄÒ»¸öÀý×Ó: ÌáȡĿ±êÎı¾ÖÐÒýºÅµÄÄÚÈÝ:

±¾Ìû¡±ÕýÔò±í´ïʽÈëÃÅÓëÌá¸ß¡±¶ÔÄãÓÐÓÃÂð? ÏÂÃæÈý¸öÕýÔò±í´ïʽ¶¼ÄÜʵÏÖÄ¿±ê: ¡°¡±.*¡±¡± ¡°¡±.*?¡±¡± ¡°¡±[^¡±¡±]+¡±¡± ·ÖÎö:

µÚÒ»¸ö±í´ïʽÊÇͨ¹ý»ØËÝÀ´ÊµÏÖÄ¿±êµÄ.¼´ÐèÒª»ØÍË6²½.

µÚ¶þ¸ö±í´ïʽÔÚÆ¥ÅäÒýºÅÄÚµÄ×Ö·ûʱ,ÿ¸öλÖö¼ÐèÒª»ØËÝÒ»´Î,ËùÒÔ,¹²ÓÐ10´Î»ØËÝ. ±È½ÏµÚÒ»/¶þ¸ö±í´ïʽµÄЧÂʸߵÍ,Óë¾ßÌåÎı¾ÖÐ,ÒýºÅÄÚ×Ö·ûÊýÓëÓÒÒýºÅºó×Ö·ûÊý¶àÉÙÓйØ. ¶øµÚÈý¸ö±í´ïʽ,Ö»ÓÐÒ»´Î»ØËÝ,Ëü·¢ÉúÔÚ×Ö·ûÆ¥ÅäÓÒË«ÒýºÅʧ°Üʱ,»ØÍËÒ»²½.

Æß.ÔÖÄÑ»ØËÝ

ÓÐʱ²»Ð¡ÐÄʹÓÃÁ¿´Ê,Ôò¿ÉÄÜ´øÀ´ÔÖÄÑÐԵĺó¹û. ÏÖÔÚÎÒÃÇÓÃÏÂÃæÕýÔò±í´ïʽ \\d+

Æ¥ÅäÄ¿±êÎı¾ 123456X

ÏÔÈ»,ÒýÇæ×îºó½«±¨¸æÕû¸öÆ¥Åäʧ°Ü.ÄÇô ÕýÔò±í´ïʽ±ØÐë¼ÆËã¶àÉÙ¸ö·¾¶²ÅÄܵóö´Ë½áÂÛÄØ£¿ Ëü»áÔÚ´Ë×Ö·û´®¿ªÍ·´¦¿ªÊ¼¼ÆË㣬·¢ÏÖ×Ö·û 1 ÊÇÒ»¸öÓÐЧµÄÊý×Ö×Ö·û£¬Óë´ËÕýÔò±í´ïʽƥÅ䡣ȻºóËü»áÒÆ¶¯µ½×Ö·û 2£¬¸Ã×Ö·ûҲƥÅä¡£Òò´Ë£¬ÔÚ´Ëʱ£¬´ËÕýÔò±í´ïʽÓë×Ö·û´® 12 Æ¥Åä¡£½ÓÏÂÀ´£¬Ëü»á³¢ÊÔ 3£¨Æ¥Åä123£©£¬ÒÀ´ÎÀàÍÆ£¬Ö±µ½µ½´ï X£¬¸Ã×Ö·û²»Æ¥Åä¡£

µ«ÊÇ£¬ÓÉÓÚÎÒÃǵÄÒýÇæÊÇ»ØËÝ NFA ÒýÇæ£¬Ëü²»»áÔڴ˵ãÉÏÍ£Ö¹¡£¶øÊÇ´ÓÆäµ±Ç°µÄÆ¥Åä (123456) ·µ»Øµ½ÆäÉÏÒ»¸öÒÑÖªµÄÆ¥Åä (12345)£¬È»ºó´ÓÄÇÀïÔٴγ¢ÊÔÆ¥Åä¡£ÓÉÓÚ 5 ºóÃæµÄÏÂÒ»¸ö×Ö·û²»ÊÇ´Ë×Ö·û´®µÄ½á⣬Òò´Ë£¬´ËÕýÔò±í´ïʽ²»ÊÇÆ¥ÅäÏËü»á·µ»Øµ½ÆäÉÏÒ»¸öÒÑÖªµÄÆ¥Åä (1234)£¬È»ºóÔٴγ¢ÊÔÆ¥Åä¡£°´ÕâÖÖ·½

50