ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¼Æ¦r»P¼Æ¦r¤¤¦pªG¦³ªÅ®æ ­n¦p¦ó¨ú¥N©Î§R°£©O?

¬Ý°_¨Ó³£¬O¤d¤À¦ì«á­±ªº¤T¦ì¼Æ¦r¦h¤@­ÓªÅ¥Õ¦r¤¸,
¦Û­q¨ç¼Æ:

¤½¦¡¡G=ClearSpace(A2)
¡@
¡@
­ã´£³¡ªL µoªí©ó 2016-8-29 11:43



    ¬Ý¨Óª©¤j¦n¹³¬O¨Ï¥Î¥¿«hªí¹F¦¡¨Ó¸Ñ¨M³o­Ó°ÝÃD¡A«Ü§Q®`¡I¦Ó¥B¤£»Ý­n¨Ï¥ÎCreateObject("VBScript.RegExp")·Pı§ó¤è«K¡C
¥¿«hªí¹F¦¡(http://regexr.com/)¦n¹³«Ü§xÃø¡A§Ú¬Ý¤F«Ü¦hªF¦è¤]¤£¤F¸Ñ¡A¤U­±¦³¤@ÃD¥Ø¡A¥i¥H½Ðª©¤jÀ°§U«ü±Ð¶Ü¡H

§Ú·Q§ä¥X³oºØ¥y«¬ªº¦r¦ê¡A­º1/2­Ó¦r¬°¼Æ¦r¡A¤§«á¥i¯à¬O¡u) ¡v¡B¡u. ¡vªº¤À®æ²Å¸¹©M¤@ªÅ¥Õ¦r¤¸¡A¤§«á¬O¤¤¤å¦r¡C¨Ò¦p¡G
-----------------------
²Å¦X
1) ³¯¤j¤å
32. ª`·N¨Æ¶µ

¤£²Å¦X
123) ¨ä¥L
Âø¶µ
----------------
¯à°÷¥Î¥¿«hªí¹F¦¡³B²z¶Ü¡H²{¦b§Ú¥u¯à¥Îfor loop ¡A¦A¥Îasc¡A«ÜºC......

TOP

¦^´_ 6# ­ã´£³¡ªL


    ¹ï¤£°_¡A§Ú²z¸Ñ¿ù¤F¡A§ÚÁÙ¥H¬°¬Oregular expression¡C
¦]¬°§Ú»Ý­n¦b¼Æ¸U½g¤å³¹¤¤§ä¥X¤p¬q¸¨ªº¶}ºÝ¡A¦Ó¤å³¹ªº®æ¦¡¨Ã¤£¬Û¦P¡A©Ò¥H§Ú»Ý­n¥H¸û¦³®Äªº¤èªk§ä¥X¤p¼ÐÃD¡AµM«á¥[¤W¼Æ¶µÅçÃÒ¥H½T»{³o¬O§Ú»Ý­nªº¬qÓ¨¡C
¼È®É§ÚÆ[¹î¤F¼Æ¦Ê½g¤å³¹«á¡A¼È®É§Úµo²{¨ìªº¼Ò¦¡¬O¡G
1) ¥H¤@­Ó©Î¨â­Ó¼Æ¦r§@¶}©l
2) ¼Æ¦r«á·|¥H¡u)¡v¡B¡u.¡v§@¤À¹j(¦³®É­Ô¬O¨S¦³)
3) ¤§«á¥]§t¤F¤@ªÅ®æ
4) ¤p¬q¸¨ªº¼ÐÃD(¥¿Å餤¤å)

¨ä¹ê¤W­±ªº¤w¸g¬O¨Ò¤l¡A¤£¹L¥i¯à¤Ó¤Ö¡A§Ú­nÂI®É¶¡¦A¾ã²z§a¡C

TOP

¥»©«³Ì«á¥Ñ ¤p«L«È ©ó 2016-9-2 10:37 ½s¿è
¦^´_  ¤p«L«È
°Ñ¦Ò§a1) ³¯¤j¤å   True
32. ª`·N¨Æ¶µ True
123) ¨ä¥L   False
stillfish00 µoªí©ó 2016-9-1 16:13


§Úµo²{¨ìªº¤å¦r¼Ò¦¡¬O¡G
1) ¥H¤@­Ó©Î¨â­Ó¼Æ¦r§@¶}©l
2) ¼Æ¦r«á·|¥H¡u)¡v¡B¡u.¡v§@¤À¹j(¦³®É­Ô¬O¨S¦³)
3) ¤§«á¥]§t¤F¤@ªÅ®æ
4) ¤p¬q¸¨ªº¼ÐÃD(¥¿Å餤¤å)
  1.     "^\d{1,2}[)\.]\s.*"
½Æ»s¥N½X
\d =¼Æ¦r¡A¦pªG­n¥]§t¤¤°ê¼Æ¦r¡A¬O¤£¬O[0-9¤@¤G¤T¥|¤­¤»¤C¤K¤E¤Q]
{1,2} = ­º¤@¦Ü¤G¦r
[)\.] = ¼Æ¦r«á¬O¡u)¡v¡B¡u.¡v¡A¤Ö¼Æ±¡ªp¬O¡G¡u12 ¤Ñ®ð±¡ªp¡v¡A¼Æ¦r«á¥u¦³¤@ªÅ®æµM«á¬O¼ÐÃD¡A¬O¤£¬O§ï¦¨
  1. [)\.\s]
½Æ»s¥N½X
¡A¦ý³o¼Ë·|©M«á­±ªº\s¬Û¨R¡A¦Ó¥Oµ{¦¡¥H¬°­n¦³¨âªÅ®æ
* = ¸U¥Î½X

¦pªG­n²Å¦X§Úªº­n¨D¡A¬O¤£¬O§ï¦¨
  1. ^[0-9¤@¤G¤T¥|¤­¤»¤C¤K¤E¤Q]{1,2}[)\.\s]\s.*"
½Æ»s¥N½X

TOP

¦^´_  ¤p«L«È
^ = ¤Ç°t¦r¦ê¶}ÀY
\d{1,2} = ¬O«ü«e­±ªº \d¥X²{¤@¦¸¨ì¨â¦¸
        ¥t¥~±`¥Î²¤Æ¼gªk
        \d? = \d ...
stillfish00 µoªí©ó 2016-9-2 11:17



    ÁÂÁ§A¡A§Ú¤w°µ¹L´ú¸Õ¡A¦n¹³¦¨¥\¤F¡C
§Ú¤]¨Ì¼Ë¸Õ¼g¤F¤@­ÓÀˬd¦r¦ê¤¤¦³¨S¦³¦~¥÷ªºfunction
True :
1) ¦p¦³¡u¦~¡v¦r®É¡A«e­±¦³4­Ó¼Æ¦r
2) ¦p¨S¦³¡u¦~¡v¦r¡A«e­±¦³4­Ó¼Æ¦r
  1. Function IsYear (ByRef Target As String) As Boolean
  2.     Dim x, oRegexp As Object: Set oRegexp = CreateObject("vbscript.regexp")
  3.     With oRegexp
  4.         .Pattern ="[0-9]{4}[¦~]?(?![0-9])"
  5.         IsYear = .test(Target)
  6.     End With
  7. End Function
½Æ»s¥N½X
°µ¤F´ú¸Õ¡A¦n¹³®ÄªG¤£¤Ó¦n¡C
1234
12345
1234¦~
12345¦~
abc1234
abc1234¦~
abc12345
abc12345¦~

³o8²Õ¤]¬OTRUE¡A¦ý§Ú¥u§Æ±æ²Ä1¡B3¡B5¡B6²Õ¬OTRUE¡C¥Î¤F{4}¤]µLªk­­¨î¼Æ¦r¦r¦ê¥u¯à¬O4­Ó¡C
§Ú¤w¸g¥[¤Fnegative lookahead (?![0-9]) ¡A­­¨î¼Æ¦r¦r¦ê«á¤£¥i¦A¸ò¼Æ¦r¡A¦ýVBA¦n¹³¤£¤ä´©negative lookbehind¡AµLªk­­¨î¼Æ¦r¦r¦êªº¶}©l¤£¬O¼Æ¦r.....

TOP

        ÀR«ä¦Û¦b : ¦Û¤v®`¦Û¤v¡A²ö¹L©ó¶ÃµoµÊ®ð¡C
ªð¦^¦Cªí ¤W¤@¥DÃD