HTML
Javascript
Flash Actionscript
PHP
mySQL
ASP
MS-SQL
Linux
Others
Ziwoo Board
Portfolio
About
ASP
ÀÛ¼º  2007-03-19 06:21:57   Ãßõ: 91   Á¶È¸: 4694
Á¦¸ñ  RegExp.Test() ¸Þ¼Òµå¿Í RegExp.Execute() ¸Þ¼ÒµåÀÇ È°¿ë
À̸§(ID)  Áö¿ì (ziwoo)
¸µÅ©1  http://tong.nate.com/stay29/29959773
À̹ø±Û¿¡¼­´Â ½ÇÁ¦·Î VBScript ¸¦ »ç¿ëÇÏ¿© Á¤±Ô Ç¥Çö½ÄÀ» ó¸®ÇÏ´Â °£´ÜÇÑ »ùÇà ÄÚµå ¸î °¡Áö¸¦ »ìÆ캸µµ·Ï ÇÏ°Ú´Ù. ¹°·Ð Áö³­¹ø ±Û¿¡¼­¿Í ¸¶Âú°¡Áö·Î ÀÌ ±ÛÀÇ ¸ðµç ³»¿ë°ú Á¦½ÃµÇ´Â ¸ðµç »ùÇà ÄÚµå´Â VBScript ÀÇ °¡Àå ÃֽŠ¹öÀüÀÎ VBScript 5.6 À» ±âÁØÀ¸·Î ÇÑ´Ù.

Áö³­¹ø ±Û¿¡¼­ ÀÌ¹Ì ¼³¸íÇß´ø °Íó·³ VBScript »ó¿¡¼­ Á¤±Ô Ç¥Çö½Ä ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ­´Â RegExp °´Ã¼ÀÇ µµ¿òÀ» ¹Þ¾Æ¾ß ÇÑ´Ù. µû¶ó¼­ ¿ì¸®°¡ °¡Àå ¸ÕÀú Çؾ߸¸ ÇÒ ÀÏÀº ´ÙÀ½°ú °°ÀÌ RegExp °´Ã¼¸¦ »ý¼ºÇÏ´Â °ÍÀÌ´Ù.

    Set oRegExp = New RegExp


À§ÀÇ Äڵ忡¼­ º¼ ¼ö ÀÖ´Â °Íó·³ RegExp °´Ã¼´Â New ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© »ý¼ºÇϴµ¥, ÀÌó·³ New ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °´Ã¼¸¦ »ý¼ºÇÏ´Â °ÍÀº VBScript »ó¿¡¼­´Â Á»Ã³·³ ã¾Æº¸±â Èûµç ƯÀÌÇÑ °æ¿ìÀÌ´Ù.

ÇÊÀÚ°¡ ¾Ë°í ÀÖ´Â Çѵµ³»¿¡¼­ VBScript »ó¿¡¼­ °´Ã¼ »ý¼º½Ã ÀÌó·³ New ¿¬»êÀÚ°¡ »ç¿ëµÇ´Â °æ¿ì´Â ´Ü µÎ °¡Áö °æ¿ì »ÓÀÌ´Ù. ´ç¿¬ÇÏ°Ôµµ ±× Áß ÇÑ °¡Áö °æ¿ì´Â À§ÀÇ Äڵ忡¼­¿Í °°ÀÌ RegExp °´Ã¼¸¦ »ý¼ºÇÏ´Â °æ¿ìÀÌ°í ¶Ç ´Ù¸¥ ³ª¸ÓÁö ÇÑ °¡Áö °æ¿ì´Â ¿ª½Ã VBScript 5.0 ¹öÀü¿¡¼­ºÎÅÍ Áö¿øµÇ´Â Ŭ·¡½º (Class) ¹®À» »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ Á÷Á¢ Á¤ÀÇÇÑ Å¬·¡½ºÀÇ °´Ã¼¸¦ »ý¼ºÇÏ´Â °æ¿ìÀÌ´Ù. 'Windows Script V5.6 ¿Â¶óÀÎ ¼³¸í¼­' ¿¡¼­ Á¶Â÷ New ¿¬»êÀÚ¿¡ °üÇÑ ¾ê±â´Â ÀÌ µÎ °¡Áö ±â¼ú¿¡ °üÇÏ¿© ¼³¸íÇÒ ¶§ Àá±ñ ¾ð±ÞµÉ »ÓÀÌ°í, ±×³ª¸¶µµ New ¿¬»êÀÚ ÀÚü¿¡ °üÇÑ ¼³¸íÀº Àü¹«ÇÏ´Ù.

ÀÌ¿Í °°Àº ¹æ¹ýÀ¸·Î »ý¼ºµÈ RegExp °´Ã¼´Â »ç¿ëÀÌ ¸ðµÎ ³¡³ª°í ³ª¸é ¾ðÁ¦³ªÃ³·³ Nothing Å°¿öµå¸¦ »ç¿ëÇÏ¿© ÂüÁ¶¸¦ ÇØÁ¦ÇØÁà¾ß ÇÑ´Ù.

    Set oRegExp = Nothing



ÀÌÁ¦ RegExp °´Ã¼¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë¾ÒÀ¸¹Ç·Î RegExp °´Ã¼¿¡¼­ Áö¿øÇØÁÖ´Â ¼¼ °³ÀÇ ¸Þ¼Òµå (Method) µé Áß ¸ÕÀú ºñ±³Àû °£´ÜÇÑ Test() ¸Þ¼Òµå¿¡ ´ëÇؼ­ ¾Ë¾Æº»´Ù. Test() ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ ¹®ÀÚ¿­ ³»¿¡ ÁöÁ¤ÇÑ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀÌ Á¸ÀçÇÏ´ÂÁö ¿©ºÎ¸¦ Boolean ÇüÀ¸·Î, ´Ù½Ã ¸»ÇÏÀÚ¸é True ³ª False ÀÇ ÇüÅ·Π¸®ÅÏÇØÁØ´Ù.

¿©±â¿¡¼­ ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº Test() ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀÌ ´ë»ó ¹®ÀÚ¿­ÀÇ ³»ºÎ¿¡ Á¸ÀçÇϱ⸸ÇÏ¸é ¹«Á¶°Ç True ¸¦ ¸®ÅÏÇØÁֹǷÎ, ¾Æ¹«¸® Test() Method ÀÇ ½ÇÇà °á°ú°¡ True ÀÎ °æ¿ì¶óµµ 'Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ = ´ë»ó ¹®ÀÚ¿­' À̶ó´Â µî½ÄÀÌ Ç×»ó ¼º¸³ÇÏ´Â °ÍÀº ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. µû¶ó¼­ º¸´Ù ¾ö°ÝÇÑ ÆÐÅÏ °Ë»ç¸¦ Çϱâ À§Çؼ­´Â Áö³­¹ø ±Û¿¡¼­ ¿ì¸®°¡ ¸¸µé¾î º¸¾Ò´ø ÇÚµåÆù ¹øÈ£ÀÇ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ¿¡¼­¿Í °°ÀÌ '^' ¶Ç´Â '$' ¿Í °°Àº ¸ÞŸ ¹®ÀÚµéÀ» ÀûÀýÈ÷ »ç¿ëÇÏ¿© Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ ÀÚü¸¦ ±× ´ç½ÃÀÇ ¿ä±¸ Á¶°Ç¿¡ ¸Âµµ·Ï Ãæ½ÇÇÏ°Ô ÀÛ¼ºÇؾ߸¸ ÇÑ´Ù.

´ÙÀ½ÀÇ ÄÚµå´Â ASP »ó¿¡¼­ Test() ¸Þ¼Òµå¸¦ »ç¿ëÇϱâ Æí¸®Çϵµ·Ï ÇÊÀÚ°¡ ¹Ì¸® ÇÔ¼ö·Î ¸¸µé¾î ³õÀº °ÍÀÌ´Ù. ¼³¸íÀÇ ÆíÀÇ»ó ¿À·ù 󸮴 »ý·«ÇßÀ¸¹Ç·Î ÇÊ¿äÇϽŠºÐµéÀº °¢ÀÚ »óȲ¿¡ ¸Â°Ô ¼öÁ¤ÇÏ¿© »ç¿ëÇÏ´Â ÆíÀÌ ÁÁÀ» °ÍÀÌ´Ù.


<%
 
  '******************************************************
  '*
  '* Public Function RegExpTest(Patrn, TestStr)
  '*
  '*    RegExp.Test() ¸Þ¼Òµå¸¦ ÀϹÝÈ­ÇÑ ÇÔ¼ö
  '*
  '******************************************************

 
  Public Function RegExpTest(Patrn, TestStr)
 
    Dim ObjRegExp
   
  On Error Resume Next   
   
    Set ObjRegExp = New RegExp
   
    ObjRegExp.Pattern = Patrn              '** Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ
    ObjRegExp.IgnoreCase = True            '** ´ë.¼Ò¹®ÀÚ ±¸ºÐ ¾ÈÇÔ
   
    RegExpTest = ObjRegExp.Test(TestStr)
   
    Set ObjRegExp = Nothing
   
  End Function
 
%>


ÀÏ´Ü ÀÌ ±ÛÀÇ ¸Ç óÀ½¿¡¼­ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ New ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© RegExp ÀÇ °´Ã¼¸¦ ¸¸µç´Ù. ±× ´ÙÀ½¿¡´Â RegExp °´Ã¼°¡ °¡Áö°í ÀÖ´Â ¼¼ °³ÀÇ ÇÁ·ÎÆÛƼ (Property) ÀÎ, Pattern, Global, IgnoreCase ÀÇ °ªÀ» »óȲ¿¡ ¾Ë¸Â°Ô ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¯³ª ÀÌ Áß¿¡¼­ Global ÇÁ·ÎÆÛƼ´Â ±× ¼³Á¤°ª¿¡ »ó°ü¾øÀÌ Test() ¸Þ¼ÒµåÀÇ ½ÇÇà °á°ú¿¡´Â ÇÏµî ¿µÇâÀ» ¹ÌÄ¡Áö ¾ÊÀ¸¹Ç·Î À§ÀÇ ÇÔ¼ö¿¡¼­ º¼ ¼ö ÀÖ´Â °Íó·³ Test() ¸Þ¼ÒµåÀÇ »ç¿ë½Ã¿¡´Â ¹«½ÃÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù.

¼¼ °³ÀÇ ÇÁ·ÎÆÛƼ Áß¿¡¼­ °¡Àå Áß¿äÇÑ ÇÁ·ÎÆÛƼ¶ó°í ¸»ÇÒ ¼ö ÀÖ´Â Pattern ÇÁ·ÎÆÛƼ¿¡´Â ¹®ÀÚ¿­ Çü½ÄÀÇ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» ¼³Á¤ÇÑ´Ù. ±×¸®°í IgnoreCase ÇÁ·ÎÆÛƼ¿¡´Â Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ °Ë»ö½Ã ´ë.¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÒÁö ¿©ºÎ¸¦ Boolean Çü½ÄÀ¸·Î ¼³Á¤ÇÑ´Ù. ÀÌó·³ ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ°ªµéÀ» ¸ðµÎ ¼³Á¤ÇßÀ¸¸é ¸¶Áö¸·À¸·Î Á¤±Ô Ç¥Çö½Ä °Ë»öÀÇ ´ë»óÀÌ µÇ´Â ´ë»ó ¹®ÀÚ¿­À» ÀÎÀÚ·ÎÇÏ¿© Test() ¸Þ¼Òµå¸¦ È£ÃâÇϱ⸸ ÇÏ¸é µÈ´Ù.

µû¶ó¼­, À§ÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀÓÀÇÀÇ ÇÚµåÆù ¹øÈ£, '011-1234-5678' ÀÌ ¿Ã¹Ù¸¥ ÇÚµåÆù ¹øÈ£ÀÎÁö¸¦ È®ÀÎÇÏ·Á¸é ´ÙÀ½ÀÇ ÄÚµå¿Í °°ÀÌ »ç¿ëÇÏ¸é µÈ´Ù.

    Response.Write RegExpTest("^0(?:11|16|17|18|19)-(?:d{3}|d{4})-d{4}$", "011-1234-5678")


¾Æ¸¶, ÀÌ Äڵ带 Á÷Á¢ ½ÇÇà½ÃÄÑ º»´Ù¸é True °¡ Ãâ·ÂµÉ °ÍÀÌ´Ù. ÀÌ ¸»Àº °ð '011-1234-5678' À̶ó´Â ÇÚµåÆù ¹øÈ£´Â ¿ì¸®°¡ ÁöÁ¤ÇÑ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ°ú ÀÏÄ¡ÇÏ´Â ¿Ã¹Ù¸¥ ÇüÅÂÀÇ ÇÚµåÆù ¹øÈ£¶ó´Â Àǹ̰¡ µÈ´Ù. ÀÌó·³ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» ÀÛ¼ºÇÏ´Â ÀÛ¾÷¿¡¸¸ Á¶±Ý Àͼ÷ÇØÁö¸é À̸¦ È°¿ëÇϱâ À§ÇÑ ÄÚµå ±× ÀÚü´Â ¸Å¿ì ½±°í °Ô´Ù°¡ ÀÏÁ¤ÇÑ ÆÐÅÏÀÌ ÀÖ±â±îÁö ÇϹǷΠ¿©·¯°¡Áö »óȲ¿¡¼­ ¸Å¿ì Æí¸®ÇÏ°Ô È°¿ëÇÒ ¼ö ÀÖ´Ù.

¿¹¸¦ µé¾î ´ÙÀ½ÀÇ ÄÚµå´Â ÁöÁ¤ÇÑ ¹®ÀÚ¿­ÀÌ 'yyyy-mm-dd' Çü½ÄÀ¸·Î ÀÔ·ÂµÈ ³¯Â¥ ¹®ÀÚ¿­ÀÎÁö¸¦ °Ë»çÇÏ°í °á°ú¸¦ Ãâ·ÂÇÑ´Ù.

    Response.Write RegExpTest("^d{4}-d{2}-d{2}$", "2002-01-31")


¹°·Ð ÀÌ ¹Û¿¡µµ È°¿ë¿¹´Â ÃæºÐÈ÷ ¸¹´Ù. ¾Æ¸¶µµ ÀϹÝÀûÀ¸·Î °¡Àå »ý°¢Çϱ⠽¬¿î °ÍÀÌ E-Mail ÁÖ¼Ò³ª URL µîÀÇ »ç·ÊµéÀÏ °ÍÀÌ´Ù. ÇÏÁö¸¸ »ç½Ç ÀÌ¿Í °°Àº ÀÀ¿ëÀÌ º¸´Ù È¿À²ÀûÀ¸·Î »ç¿ëµÇ·Á¸é Test() ¸Þ¼Òµå°¡ ½ÇÇàµÇ´Â À§Ä¡°¡ Ŭ¶óÀ̾ðÆ® Ãø, Áï À¥ ºê¶ó¿ìÀúÀÎ ÆíÀÌ ÈÙ¾À ´õ ÁÁ´Ù. ±×·¯³ª ÀÌ´Â Çö½ÇÀûÀ¸·Î Àâ´ÙÇÑ ¸¹Àº Á¦¾àÀÌ Á¸ÀçÇÑ´Ù. ÀÏ´Ü Netscape ¿¡¼­´Â VBScript ÀÚü°¡ Áö¿øµÇÁö ¾ÊÀ¸¸ç JavaScript µµ Á¤±Ô Ç¥Çö½ÄÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.

¹°·Ð Internet Explorer »ó¿¡¼­ ½ÇÇàµÇ´Â JavaScript ¿¡¼­´Â Á¤±Ô Ç¥Çö½ÄÀÌ Áö¿øµÈ´Ù. ±×·¯³ª ÇÑ °¡Áö ºÐ¸íÈ÷ ÇØ µÎ¾î¾ß ÇÒ °ÍÀº Internet Explorer »ó¿¡¼­ ½ÇÇàµÇ´Â JavaScript ´Â ¾ö¹ÐÈ÷ ¸»Çؼ­ JavaScript °¡ ¾Æ´Ï¶ó JScript ¶ó´Â »ç½ÇÀ̸ç ÀÌ´Â ¿ª½Ã VBScript ¿¡¼­¿Í ¸¶Âú°¡Áö·Î Microsoft Windows Script 5.X ·ÎºÎÅÍ Áö¿øµÇ´Â °ÍÀ̹ǷΠŬ¶óÀ̾ðÆ®¿¡ ¼³Ä¡µÈ Scripting Engine ÀÇ ¹öÀü¿¡ ¿µÇâÀ» ¹Þ´Â´Ù´Â ¶æÀÌ µÈ´Ù´Â °ÍÀÌ´Ù.

µû¶ó¼­, Ŭ¶óÀ̾ðÆ®»óÀÇ À¥ ºê¶ó¿ìÀúÀÇ ¹öÀüÀ̳ª Á¾·ù, ȤÀº Target Device ÀÇ Á¾·ù µî¿¡ °ü°è¾øÀÌ ¾ðÁ¦³ª Á¤±Ô Ç¥Çö½Ä ±â´ÉÀ» ÀÏ°üµÇ°Ô ó¸®ÇØÁÖ±â À§ÇÑ ÃÖ¼±ÀÇ ¹æ¹ýÀº, Á¤±Ô Ç¥Çö½Ä ó¸® ±× ÀÚü´Â ¼­¹ö Ãø¿¡¼­ ½ÇÇàÇÏ°í ±× °á°ú¿Í ·»´õ¸µ Á¤º¸¸¸ Ŭ¶óÀ̾ðÆ®ÀÇ »óȲ¿¡ ¸Âµµ·Ï ó¸®ÇÏ¿© Posting ÇØÁÖ´Â °ÍÀε¥, ¹Ù·Î ÀÌ¿Í °°Àº ¾ÆÀ̵ð¾î¸¦ Çö½Ç ¼¼°è¿¡¼­ ±¸ÇöÇØ ³õÀº °ÍÀÌ ASP.NET ÀÇ RegularExpressionValidator Control ÀÎ °ÍÀÌ´Ù.


À̹ø¿¡´Â Execute() ¸Þ¼Òµå¿¡ °üÇؼ­ ¾Ë¾Æº¸ÀÚ. Execute() ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ ´ë»ó ¹®ÀÚ¿­ ³»¿¡¼­ ÁöÁ¤ÇÑ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» ¸¸Á·ÇÏ´Â ¸ðµç ¹®ÀÚ¿­µéÀÇ ÁýÇÕÀ» Matches Collection ÇüÅ·Π¸®ÅÏÇØÁØ´Ù. ±×¸®°í ÀÌ Collection Àº Match ¶ó´Â °´Ã¼ Çü½ÄÀÇ Item À» °Ë»öµÈ ¹®ÀÚ¿­ÀÇ °¹¼ö¸¸Å­ °¡Áö°í ÀÖ°Ô µÇ´Âµ¥ ¿ì¸®´Â ÀÌ Match °´Ã¼¸¦ »ç¿ëÇÏ¿© °Ë»öµÈ ¹®ÀÚ¿­µéÀÇ À§Ä¡, ±æÀÌ, °ª¿¡ ´ëÇÑ Á¤º¸¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. °£´ÜÇÏ°Ô ¸»Çؼ­ ¸Å¿ì °­·ÂÇÑ °Ë»ö ±â´ÉÀ» Á¦°øÇØÁÖ´Â °ÍÀÌ´Ù.

Áö±Ý±îÁöÀÇ °æ¿ì VBScript ¸¦ »ç¿ëÇÏ¿© ¾î¶² ÀÓÀÇÀÇ ¹®ÀÚ¿­ ³»ºÎ¿¡ ÀÓÀÇÀÇ °Ë»ö ´ë»ó ¹®ÀÚ¿­ÀÌ ¸î °³³ª Á¸ÀçÇÏ´ÂÁö, ¹®ÀÚ¿­ÀÇ À§Ä¡´Â ¾îµð¿¡¼­ºÎÅÍ ¾îµð±îÁöÀÎÁö µî¿¡ °üÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ­´Â ·çÇÁ¹®À» µ¹¸é¼­ ¹®ÀÚ¿­ÀÇ Ã³À½ºÎÅÍ ³¡±îÁö InStr() ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â µîÀÇ ¹æ¹ý¿Ü¿¡´Â ´ë¾ÈÀÌ ¾ø¾ú´Ù. ±×¸®°í Áö±Ý±îÁö °è¼Ó °­Á¶ÇØ ¿ÔÁö¸¸ ÀÌ·± ¹æ½ÄÀº À¶Å뼺ÀÌ ºÎÁ·ÇÒ »Ó´õ·¯ °Ë»ö °á°ú¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇصαâ À§Çؼ­´Â º°µµÀÇ Ã³¸® °úÁ¤À» °ü¸®ÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù.

´ÙÀ½ÀÇ ÄÚµå´Â Test() ¸Þ¼ÒµåÀÇ °æ¿ì¿Í ¸¶Âú°¡Áö·Î ASP »ó¿¡¼­ Execute() ¸Þ¼Òµå¸¦ »ç¿ëÇϱâ Æí¸®Çϵµ·Ï ÇÊÀÚ°¡ ¹Ì¸® ÇÔ¼ö·Î ¸¸µé¾î ³õÀº °ÍÀÌ´Ù. ¿ª½Ã ÇÊ¿äÇϽŠºÐµéÀº °¢ÀÚ »óȲ¿¡ ¸Â°Ô ¼öÁ¤ÇÏ¿© »ç¿ëÇÏ¸é µÈ´Ù.


<%
 
  '******************************************************
  '*
  '* Public Function RegExpExec(Patrn, TestStr)
  '*
  '*    RegExp.Execute() ¸Þ¼Òµå¸¦ ÀϹÝÈ­ÇÑ ÇÔ¼ö
  '*
  '******************************************************

 
  Public Function RegExpExec(Patrn, TestStr)
 
    Dim ObjRegExp
   
  On Error Resume Next   
   
    Set ObjRegExp = New RegExp
   
    ObjRegExp.Pattern = Patrn              '** Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ
    ObjRegExp.Global = True                '** ¹®ÀÚ¿­ Àüü¸¦ °Ë»öÇÔ
    ObjRegExp.IgnoreCase = True            '** ´ë.¼Ò¹®ÀÚ ±¸ºÐ ¾ÈÇÔ
   
    Set RegExpExec = ObjRegExp.Execute(TestStr)
   
    Set ObjRegExp = Nothing
   
  End Function
 
%>


À§ÀÇ Äڵ带 º¸¸é ¹Ù·Î ´À³¥ ¼ö ÀÖ°ÚÁö¸¸ Execute() ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ̳ª Test() ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ̳ª ¾çÀÚ°£¿¡ ±×´ÙÁö Â÷ÀÌÁ¡ÀÌ ¾ø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ´Ù¸¸ Execute() ¸Þ¼Òµå´Â Test() ¸Þ¼Òµå¿Í´Â ´Þ¸® ½ÇÇà °á°ú¸¦ Collection °´Ã¼ Çü½ÄÀ¸·Î ¸®ÅÏÇØÁֹǷÎ, ÆĶõ»öÀ¸·Î °­Á¶ÇØ ³õÀº ºÎºÐ¿¡¼­Ã³·³ Set ¹®À» »ç¿ëÇØ¾ß ÇÑ´Ù´Â Á¡¿¡ À¯ÀÇÇϱ⠹ٶõ´Ù.

¶ÇÇÑ, À̹ø¿£ Global ÇÁ·ÎÆÛƼ°¡ »ç¿ëµÇ°í ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö Àִµ¥, ÀÌ ÇÁ·ÎÆÛƼ´Â Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ °Ë»ö½Ã °Ë»ö ´ë»ó ¹®ÀÚ¿­ ³»¿¡ Á¸ÀçÇÏ´Â Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ°ú ÀÏÄ¡ÇÏ´Â ¸ðµç ¹®ÀÚ¿­À» ãÀ» °ÍÀÎÁö, ¾Æ´Ï¸é °¡Àå ù ¹ø°·Î ãÀº ¹®ÀÚ¿­¸¸ ¸®ÅÏÇÏ°í °Ë»öÀ» Áß´ÜÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù.

À§ÀÇ Äڵ忡¼­Ã³·³ Global ÇÁ·ÎÆÛƼ°¡ True ·Î ¼³Á¤µÇ¸é ´ë»ó ¹®ÀÚ¿­ ³»¿¡ Á¸ÀçÇÏ´Â ¸ðµç Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ ¹®ÀÚ¿­À» ´ë»óÀ¸·Î Á¤±Ô Ç¥Çö½Ä °Ë»öÀÌ ÀÌ·ç¾îÁö¸ç, ±× ¹Ý´ë·Î False ·Î ¼³Á¤µÇ¸é °¡Àå ù ¹ø°·Î ãÀº Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ ¹®ÀÚ¿­¸¸À» ¸®ÅÏÇÑ »óÅ·Π°Ë»öÀÌ ÁßÁöµÈ´Ù. ±×·¯³ª µÎ °æ¿ì ¸ðµÎ Execute() ¸Þ¼Òµå·ÎºÎÅÍ ¸®ÅϵǴ °ÍÀº ¿ª½Ã Matches Collection À̹ǷΠƯº°È÷ µÎ °æ¿ìÀÇ Äڵ带 µû·Îµû·Î ÀÛ¼ºÇÒ ÇÊ¿ä´Â ¾ø´Ù.

ÀÌÁ¦ ½ÇÁ¦·Î ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇغ¸ÀÚ. ´ÙÀ½ÀÇ ¹®ÀåÀº ÇÊÀÚ°¡ ¼³¸íÀ» À§ÇÏ¿© ÀÓÀÇ·Î ¾ßÈÄÀÇ ¹é°ú »çÀü ¼­ºñ½º¿¡¼­ '¸Þ¸ð¸®' ¶ó´Â ´Ü¾î¸¦ °Ë»öÇÏ¿© ³ª¿Â °á°ú Áß ¾Æ¹« ºÎºÐÀ̳ª °¡Á®¿Íº» °ÍÀÌ´Ù. ÀÌ ¹®Àå¿¡¼­ 'ÀúÀå' À̶ó´Â ´Ü¾î°¡ ¸ðµÎ ³× Â÷·Ê ³ª¿Â´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

ÄÄÇ»ÅÍ°¡ ÀڷḦ ó¸®ÇÏ·Á¸é ±× ÀÚ·á¿Í À̸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ÀúÀåÇÒ ¼ö ÀÖ´Â °÷ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ó¸®ÀåÄ¡·Î ÇÁ·Î±×·¥À» ºÒ·¯³»¾î ó¸®ÇÏ´Â °úÁ¤¿¡¼­ ÀϽÃÀûÀÎ ÀúÀåÀÌ ÇÊ¿äÇϱ⵵ ÇÏ°í, ¶ÇÇÑ Áö±Ý ¹Ù·Î ó¸®ÀåÄ¡°¡ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ÀÚ·á¿Í ÇÁ·Î±×·¥À» ¾ó¸¶ µ¿¾È º¸Á¸Çß´Ù°¡ ÇÊ¿äÇÒ ¶§ ²¨³»¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀúÀåÀåÄ¡µµ ÇÊ¿äÇÏ´Ù. ÀÌ·¯ÇÑ ÀúÀå ±â´ÉÀ» ´ã´çÇÏ´Â ÀåÄ¡¸¦ ÅëÅÐ¾î ±â¾ïÀåÄ¡¶ó ÀÏÄ´´Ù. 

´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇϸé ÀÌ ¹®Àå¿¡ Á¸ÀçÇÏ´Â 'ÀúÀå' À̶ó´Â ¹®ÀÚ¿­À» ¸ðµÎ ãÀ» ¼ö ÀÖ´Ù. ÀÌ ¶§, À§¿¡¼­ ÀÛ¼ºÇÑ RegExpExec() ÇÔ¼ö¸¦ ¾Æ·¡ÀÇ Äڵ尡 ÀÛ¼ºµÈ ASP ÆÄÀÏ¿¡ Include Çϰųª µ¿ÀÏÇÑ ASP ÆÄÀÏ¿¡ º¹»çÇÏ¿© ºÙ¿©³Ö±â µîÀÇ ¹æ¹ýÀ» »ç¿ëÇØ Ã·ºÎÇÏ¿© RegExpExec() ÇÔ¼ö¸¦ ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â »óȲÀ̶ó°í ÀüÁ¦ÇÑ´Ù.


<%

  Dim Test_String                  '** °Ë»ö ´ë»ó ¹®ÀåÀ» ´ãÀ» º¯¼ö
  Dim Result_Match                  '** Match ¸¦ ÂüÁ¶ÇÒ º¯¼ö
  Dim Result_Matches_Collection    '** Matches Collection À» ÂüÁ¶ÇÒ º¯¼ö
 
 
  '** °Ë»ö ´ë»ó ¹®Àå
  Test_String = "ÄÄÇ»ÅÍ°¡ ÀڷḦ ó¸®ÇÏ·Á¸é ±× ÀÚ·á¿Í À̸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×" & _
                "·¥À» ÀúÀåÇÒ ¼ö ÀÖ´Â °÷ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ó¸®ÀåÄ¡·Î ÇÁ·Î±×·¥À» ºÒ·¯" & _
                "³»¾î ó¸®ÇÏ´Â °úÁ¤¿¡¼­ ÀϽÃÀûÀÎ ÀúÀåÀÌ ÇÊ¿äÇϱ⵵ ÇÏ°í, ¶ÇÇÑ Áö" & _
                "±Ý ¹Ù·Î ó¸®ÀåÄ¡°¡ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ÀÚ·á¿Í ÇÁ·Î±×·¥À» ¾ó¸¶ µ¿¾È " & _
                "º¸Á¸Çß´Ù°¡ ÇÊ¿äÇÒ ¶§ ²¨³»¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀúÀåÀåÄ¡µµ ÇÊ¿äÇÏ´Ù. " & _
                "ÀÌ·¯ÇÑ ÀúÀå ±â´ÉÀ» ´ã´çÇÏ´Â ÀåÄ¡¸¦ ÅëÅÐ¾î ±â¾ïÀåÄ¡¶ó ÀÏÄ´´Ù."

               
  '** RegExpExec() ÇÔ¼ö ½ÇÇà 
  Set Result_Matches_Collection = RegExpExec("ÀúÀå", Test_String)
 
 
  '** ·çÇÁ¸¦ µ¹¸é¼­ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. 
  For Each Result_Match In Result_Matches_Collection
 
    With Response
      .Write "<font size=""2"">"
      .Write "¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: " & Result_Match.FirstIndex & "<br>"
      .Write "¹®ÀÚ¿­ÀÇ ±æÀÌ :: " & Result_Match.Length & "<br>"
      .Write "¹®ÀÚ¿­ÀÇ ³»¿ë :: " & Result_Match.Value & "<br>"
      .Write "</font><br>"
      .Flush
    End With
   
  Next 
 
%>


ÀÌ Äڵ带 Á÷Á¢ ½ÇÇà½ÃÄÑ º¸¸é ´ÙÀ½°ú °°ÀÌ ¹®Àå ³»ºÎ¿¡ Á¸ÀçÇÏ´Â 'ÀúÀå' À̶ó´Â ¹®ÀÚ¿­ ³× °³¿¡ °üÇÑ Á¤º¸°¡ ¸ðµÎ Ãâ·ÂµÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 39
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 2
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀå

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 91
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 2
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀå

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 171
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 2
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀå

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 187
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 2
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀå 

°£´ÜÇϳª¸¶ ÀÌ Á¤µµÀÇ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù¸é ½ÇÁ¦ ÇÁ·Î±×·¡¹Ö ÀÛ¾÷½Ã¿¡µµ ÃæºÐÈ÷ ÀÌ Á¤º¸¿¡ ±â¹ÝÇÏ¿© ´ëºÎºÐÀÇ ÈÄ¼Ó ÀÛ¾÷À» ¹«³­È÷ ÁøÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é, À̹ø¿£ À§ÀÇ Äڵ带 ÇÑ ÁÙ¾¿ Â÷ºÐÈ÷ »ìÆ캸µµ·Ï ÇÏÀÚ.

¿ì¼± ´«¿¡ ¶ç´Â Á¡Àº RegExpExec() ÇÔ¼öÀÇ ½ÇÇà °á°ú¸¦ ¹ÞÀ» ¶§ ¶Ç´Ù½Ã Set ¹®ÀÌ »ç¿ëµÈ´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº Áö±ØÈ÷ ´ç¿¬ÇÑ »çÇ×À̹ǷΠ´õÀÌ»ó ¼³¸íÇÏÁö ¾Êµµ·Ï ÇÏ°Ú´Ù. ±× ´ÙÀ½À¸·Î ´«¿¡ ¶ç´Â Á¡Àº ÀÌ Äڵ忡¼­ »ç¿ëµÇ°í ÀÖ´Â Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀε¥ 'ÀúÀå' À̶ó´Â ¸Å¿ì °£´ÜÇÑ ÇüŸ¦ °¡Áö°í ÀÖ´Ù. Àá½Ã ÈÄ¿¡ ÀÌ ÆÐÅÏÀ» ¾à°£¾¿ ¼öÁ¤ÇÏ¿© ±× ¶§ ¸¶´ÙÀÇ °Ë»ö °á°úÀÇ º¯È­¸¦ »ìÆ캸±â·Î ÇÑ´Ù.

°¡Àå Èï¹Ì·Î¿î ºÎºÐÀº For Each ... Next ¹®À» »ç¿ëÇÏ¿© °Ë»ö °á°ú¿¡ ´ëÇÑ Á¤º¸µéÀ» Ç¥½ÃÇÏ´Â ºÎºÐÀε¥, À§¿¡¼­ ¾ê±âÇß´ø °Íó·³ Execute() ¸Þ¼Òµå·Î °Ë»öµÈ °¢°¢ÀÇ ¹®ÀÚ¿­µé¿¡ ´ëÇÑ Á¤º¸´Â °Ë»öµÈ ¹®ÀÚ¿­ ÇÑ °³¸¶´Ù °¢°¢ ±×¿¡ ´ëÀÀÇÏ´Â Match °´Ã¼ ÇÑ °³¾¿¿¡ ±× Á¤º¸°¡ ÀúÀåµÇ¾î Matches Collection À¸·Î ¸®ÅϵȴÙ. ÀÌó·³ Match °´Ã¼ ±× ÀÚü´Â Execute() ¸Þ¼ÒµåÀÇ ½ÇÇàÀÇ °á°ú·Î¼­¸¸ »ý¼ºÀÌ µÇ¸ç Á÷Á¢ »ý¼ºÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. µû¶ó¼­ ¸¸¾à À§ÀÇ Äڵ忡¼­ °Ë»öµÈ ¹®ÀÚ¿­ÀÌ ÇÑ °³µµ ¾ø´Ù¸é Matches Collection ÇüÀÎ Result_Matches_Collection °´Ã¼ º¯¼öÀÇ ÇÁ·ÎÆÛƼ, Count ¿¡´Â °ª 0 ÀÌ µé¾î ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª À§ÀÇ ÄÚµåÀÇ °æ¿ì °Ë»öµÈ ¹®ÀÚ¿­Àº ¸ðµÎ ³× °³ À̹ǷΠCount ÇÁ·ÎÆÛƼ¿¡´Â °ª 4 °¡ µé¾îÀִµ¥ ¹Ù·Î ÀÌ °ªÀ» Âü°íÇÏ¿© ·çÇÁ¹®ÀÇ ¼øȯ Ƚ¼ö¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.

´Ù¸¸ À§ÀÇ Äڵ忡¼­´Â ±×º¸´Ù Á» ´õ °£ÆíÇÑ ¹æ¹ýÀÎ For Each ... Next ¹®À» »ç¿ëÇÏ°í ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö Àִµ¥, ÀÌ°ÍÀº °¢ÀÚÀÇ ÃëÇâÀ̳ª ±×¶§ ±×¶§ÀÇ »óȲ¿¡ ¸ÂÃß¾î µÎ °¡Áö ¹æ¹ý Áß ¾Æ¹« °ÍÀ̳ª ¼±ÅÃÇÏ¿© »ç¿ëÇÏ¸é µÈ´Ù.

Match °´Ã¼¿¡´Â ¸ðµÎ ¼¼ °³ÀÇ ÇÁ·ÎÆÛƼ°¡ Á¸ÀçÇÑ´Ù. ±× Áß FirstIndex ÇÁ·ÎÆÛƼ´Â °Ë»öµÈ ¹®ÀÚ¿­ÀÇ °¡Àå ù ±ÛÀÚ°¡ À§Ä¡ÇÏ´Â °Ë»ö ´ë»ó ¹®ÀÚ ³»¿¡¼­ÀÇ À妽º (Index) °ªÀ¸·Î¼­ ±× °ªÀº 0 ºÎÅÍ ½ÃÀÛÇÑ´Ù. Length ÇÁ·ÎÆÛƼ´Â °Ë»öµÈ ¹®ÀÚ¿­ÀÇ ±æÀÌ°ªÀ» °¡Áö°í ÀÖÀ¸¸ç, Value ÇÁ·ÎÆÛƼ´Â °Ë»öµÈ ¹®ÀÚ¿­ ±× ÀÚü¸¦ °ªÀ¸·Î °¡Áö°í ÀÖ´Ù. ÀÌ Match °´Ã¼ÀÇ ¼¼ °¡Áö ÇÁ·ÎÆÛƼ´Â ¸ðµÎ Àбâ Àü¿ëÀ̶ó´Â Á¡¿¡ ÁÖÀÇÇϱ⠹ٶõ´Ù.

±×·¸´Ù¸é, À̹ø¿¡´Â ÀÌ Äڵ忡¼­ »ç¿ëµÈ Á¤±Ô Ç¥Çö½ÄÀÇ ÆÐÅÏÀ» ´ÙÀ½ÀÇ ÄÚµå¿Í °°ÀÌ ¾à°£ ¼öÁ¤ÇÏ¿© ±× °á°ú¸¦ »ìÆ캸µµ·Ï ÇÏÀÚ.

    Set Result_Matches_Collection = RegExpExec("ÀúÀåS+", Test_String)


¸ÞŸ ¹®ÀÚ 'S' ´Â °ø¹éÀÌ ¾Æ´Ñ ¹®ÀÚ¸¦ ÀǹÌÇÑ´Ù. ±×¸®°í, ¸ÞŸ ¹®ÀÚ '+' ´Â '+' ¾ÕÀÇ ¹®ÀÚ°¡ Àû¾îµµ ÇÑ ¹ø ÀÌ»ó ¹Ýº¹µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. µû¶ó¼­, ±× ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. 'ÀúÀå' À̶ó´Â ¹®ÀÚ¿­ ´ÙÀ½¿¡ ¹Ù·Î °ø¹é ¹®ÀÚ°¡ µé¾î°£ ³× ¹ø° 'ÀúÀå' Àº Ãâ·ÂµÇÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 39
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 3
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀåÇÒ

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 91
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 3
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀåÀÌ

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 171
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 5
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀåÀåÄ¡µµ 

À̹ø¿£ ¾Æ¿¹ Á¤±Ô Ç¥Çö½Ä °Ë»ö ÆÐÅÏ ÀÚü¸¦ ¹Ù²ãº¸µµ·Ï ÇÏÀÚ. °Ë»ö ´ë»ó ¹®Àå ³»¿¡´Â '~~ÀåÄ¡' ¶ó´Â ¹®ÀÚ¿­ÀÌ ´ÙÀ½°ú °°ÀÌ ¸ðµÎ ¼¼ Á¾·ù, ³× °³°¡ Á¸ÀçÇÏ°í ÀÖ´Ù.

ÄÄÇ»ÅÍ°¡ ÀڷḦ ó¸®ÇÏ·Á¸é ±× ÀÚ·á¿Í À̸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ÀúÀåÇÒ ¼ö ÀÖ´Â °÷ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ó¸®ÀåÄ¡·Î ÇÁ·Î±×·¥À» ºÒ·¯³»¾î ó¸®ÇÏ´Â °úÁ¤¿¡¼­ ÀϽÃÀûÀÎ ÀúÀåÀÌ ÇÊ¿äÇϱ⵵ ÇÏ°í, ¶ÇÇÑ Áö±Ý ¹Ù·Î ó¸®ÀåÄ¡°¡ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ÀÚ·á¿Í ÇÁ·Î±×·¥À» ¾ó¸¶ µ¿¾È º¸Á¸Çß´Ù°¡ ÇÊ¿äÇÒ ¶§ ²¨³»¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀúÀåÀåÄ¡µµ ÇÊ¿äÇÏ´Ù. ÀÌ·¯ÇÑ ÀúÀå ±â´ÉÀ» ´ã´çÇÏ´Â ÀåÄ¡¸¦ ÅëÅÐ¾î ±â¾ïÀåÄ¡¶ó ÀÏÄ´´Ù. 

ÀÌ ¹®Àå Áß 'ÀúÀåÀåÄ¡' ¿Í '±â¾ïÀåÄ¡' ¶ó´Â ¹®ÀÚ¿­¸¸À» °Ë»öÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°Àº Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ¿Í °°ÀÌ Çϸé 'ó¸®ÀåÄ¡' ¶ó´Â ¹®ÀÚ¿­Àº °Ë»öµÇÁö ¾Ê´Â´Ù.

    Set Result_Matches_Collection = RegExpExec("(?:ÀúÀå|±â¾ï)ÀåÄ¡", Test_String)


´ÙÀ½Àº À§ÀÇ ÄÚµåÀÇ ½ÇÇà °á°úÀÌ´Ù. ¿ì¸®°¡ ¿øÇÏ´Â ´ë·Î 'ó¸®ÀåÄ¡' ¶ó´Â ¹®ÀÚ¿­Àº °Ë»öµÇÁö ¾Ê¾Ò´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 171
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀåÀåÄ¡

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 207
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ±â¾ïÀåÄ¡ 


À̹ø¿¡´Â ¾à°£ Ưº°ÇÑ °æ¿ì¸¦ »ìÆ캸±â·Î ÇÑ´Ù. Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ¿¡ »ç¿ëµÇ´Â ¸ÞŸ ¹®ÀÚ Áß¿¡´Â, '(' ¿Í ')' ÀÇ ½Ö, Áï ´Ù½Ã ¸»Çؼ­ ¼Ò°ýÈ£°¡ Àִµ¥ ÀÌ ¸ÞŸ ¹®ÀÚ´Â ¾à°£ Ưº°ÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î¼­ ´ÙÀ½°ú °°Àº Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» »ç¿ëÇÏ¿© °Ë»öÀ» ÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ.

    (ÀúÀå|±â¾ï|ó¸®)ÀåÄ¡


ÀÌÁ¦ ÀÌ Á¤µµ ¼öÁØÀÇ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ¿¡´Â Àͼ÷ÇÒ °ÍÀ̹ǷΠ±× Àǹ̵µ ½±°Ô ÆľÇÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÆÐÅÏÀº 'ÀúÀåÀåÄ¡', '±â¾ïÀåÄ¡', 'ó¸®ÀåÄ¡' ¶ó´Â ¹®ÀÚ¿­À» ÀǹÌÇÑ´Ù.

±×·±µ¥, Áö³­¹ø ±Û¿¡¼­µµ ÇÑ ¹ø ¾ð±ÞÇßÁö¸¸ ´ë»ó ¹®ÀÚ¿­ÀÌ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ°ú ÀÏÄ¡ÇÒ °æ¿ì ¼Ò°ýÈ£ ³»ºÎ¿¡ °¨½ÎÀÎ ¹®ÀÚ¿­ ºÎºÐÀº ¸Þ¸ð¸®»ó¿¡ ¹Ì¸® ÁöÁ¤µÈ À̸§ÀÇ º¯¼ö·Î Â÷·ÊÂ÷·Ê ÀúÀåÀÌ µÈ´Ù Áï, ÀϹÝÀûÀÎ ³í¸®½Ä¿¡¼­¿Í °°Àº ³í¸® ¿¬»êÀÇ ¿¬»ê ±×·ìÀ» Á¤ÇØÁÖ´Â ±â´É ¿Ü¿¡µµ ÇØ´ç ¿ä¼Ò¸¦ º°µµ·Î ÀúÀåÇØ µÎ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù.

ÀÌ ±â´ÉÀº »ç½Ç Execute() ¸Þ¼Òµå¿¡¼­ º¸´Ù´Â Replace() ¸Þ¼Òµå¿¡¼­ ´õ¿í À¯¿ëÇÏ°Ô »ç¿ëµÇ´Âµ¥, ÀÌ ºÎºÐ¿¡ °üÇؼ­´Â Replace() ¸Þ¼Òµå¿¡ °üÇØ ¼³¸íÇÒ ¶§ ´õ »ó¼¼ÇÏ°Ô ¾ê±âÇϵµ·Ï ÇÏ°Ú´Ù.

¾Æ¹«Æ°, ÀÌ·¸°Ô º°µµ·Î ÀúÀåµÈ ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­Àº ÃßÈÄ¿¡ Àç»ç¿ëÀ» À§Çؼ­ Á¢±ÙÀÌ °¡´ÉÇѵ¥ ´ÙÀ½ÀÇ Äڵ忡¼­ ±× »ç·Ê¸¦ »ìÆ캼 ¼ö ÀÖ´Ù. ÀÌ ÄÚµå´Â ¹Ù·Î À§¿¡¼­ ¿¹·Î µé¾ú´ø Äڵ带 ÀϺΠ¼öÁ¤ÇÑ °ÍÀÌ´Ù. ÀÏ´Ü Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» '(ÀúÀå|±â¾ï|ó¸®)ÀåÄ¡' ·Î ¹Ù²Ù°í, SubMatches ¶ó´Â Collection À» ÀÌ¿ëÇÏ¿© ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ ¿ä¼ÒÀÇ Á¤º¸¸¦ Ãâ·ÂÇÏ´Â Äڵ带 ÇÑ ÁÙ Ãß°¡Çß´Ù. ÆĶõ»öÀ¸·Î °­Á¶ÇÑ ºÎºÐÀ» »ìÆ캸±â ¹Ù¶õ´Ù.


<%

  Dim Test_String                  '** °Ë»ö ´ë»ó ¹®ÀåÀ» ´ãÀ» º¯¼ö
  Dim Result_Match                  '** Match ¸¦ ÂüÁ¶ÇÒ º¯¼ö
  Dim Result_Matches_Collection    '** Matches Collection À» ÂüÁ¶ÇÒ º¯¼ö
 
 
  '** °Ë»ö ´ë»ó ¹®Àå
  Test_String = "ÄÄÇ»ÅÍ°¡ ÀڷḦ ó¸®ÇÏ·Á¸é ±× ÀÚ·á¿Í À̸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×" & _
                "·¥À» ÀúÀåÇÒ ¼ö ÀÖ´Â °÷ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ó¸®ÀåÄ¡·Î ÇÁ·Î±×·¥À» ºÒ·¯" & _
                "³»¾î ó¸®ÇÏ´Â °úÁ¤¿¡¼­ ÀϽÃÀûÀÎ ÀúÀåÀÌ ÇÊ¿äÇϱ⵵ ÇÏ°í, ¶ÇÇÑ Áö" & _
                "±Ý ¹Ù·Î ó¸®ÀåÄ¡°¡ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ÀÚ·á¿Í ÇÁ·Î±×·¥À» ¾ó¸¶ µ¿¾È " & _
                "º¸Á¸Çß´Ù°¡ ÇÊ¿äÇÒ ¶§ ²¨³»¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀúÀåÀåÄ¡µµ ÇÊ¿äÇÏ´Ù. " & _
                "ÀÌ·¯ÇÑ ÀúÀå ±â´ÉÀ» ´ã´çÇÏ´Â ÀåÄ¡¸¦ ÅëÅÐ¾î ±â¾ïÀåÄ¡¶ó ÀÏÄ´´Ù."

               
  '** RegExpExec() ÇÔ¼ö ½ÇÇà 
  Set Result_Matches_Collection = RegExpExec("(ÀúÀå|±â¾ï|ó¸®)ÀåÄ¡", Test_String)
 
 
  '** ·çÇÁ¸¦ µ¹¸é¼­ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. 
  For Each Result_Match In Result_Matches_Collection
 
    With Response
      .Write "<font size=""2"">"
      .Write "¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: " & Result_Match.FirstIndex & "<br>"
      .Write "¹®ÀÚ¿­ÀÇ ±æÀÌ :: " & Result_Match.Length & "<br>"
      .Write "¹®ÀÚ¿­ÀÇ ³»¿ë :: " & Result_Match.Value & "<br>"
      .Write "ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ ³»¿ë :: " & Result_Match.SubMatches(0) & "<br>"
      .Write "</font><br>"
      .Flush
    End With
   
  Next 
 
%>


´ÙÀ½Àº, ÀÌ Äڵ带 ½ÇÇàÇÑ °á°úÀÌ´Ù. °¢ Ç׸ñÀÇ ³× ¹ø° ÁÙÀ» ÀÚ¼¼È÷ »ìÆ캸±â ¹Ù¶õ´Ù.

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 59
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ó¸®ÀåÄ¡
ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ ³»¿ë :: ó¸®

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 114
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ó¸®ÀåÄ¡
ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ ³»¿ë :: ó¸®

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 171
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀåÀåÄ¡
ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ ³»¿ë :: ÀúÀå

¹®ÀÚ¿­ÀÇ Ã¹ ±ÛÀÚÀÇ Index À§Ä¡ :: 207
¹®ÀÚ¿­ÀÇ ±æÀÌ :: 4
¹®ÀÚ¿­ÀÇ ³»¿ë :: ±â¾ïÀåÄ¡
ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ ³»¿ë :: ±â¾ï 

À§ÀÇ Äڵ忡¼­ óÀ½À¸·Î »ç¿ëµÈ SubMatches Collection ÀÇ °¢ Item ¿¡´Â °¢°¢ÀÇ ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­µéÀÌ µé¾îÀִµ¥, Collection À̶ó´Â Á¡¿¡¼­µµ ´«Ä¡Ã§ ¼ö ÀÖ°ÚÁö¸¸ ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ °¹¼ö¿¡´Â »ó½ÄÀûÀÎ Á¶°ÇÇÏ¿¡¼­ Á¦ÇÑÀÌ ¾ø°í ±× °¹¼ö´Â ´ç¿¬È÷ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ¿¡ »ç¿ëµÈ ¼Ò°ýÈ£ÀÇ °¹¼ö¿Í ÀÏÄ¡ÇÑ´Ù. ¶ÇÇÑ SubMatches Collection µµ For Each ... Next ¹®À̳ª Count ÇÁ·ÎÆÛƼÀÇ »ç¿ëÀÌ °¡´ÉÇÑ ÀϹÝÀûÀÎ Collection Àε¥, ´Ù¸¸ Àбâ Àü¿ëÀ̹ǷΠ¼öÁ¤ÀÌ ºÒ°¡´ÉÇϴٴ Ư¡À» °¡Áö°í ÀÖ´Ù.

±×¸®°í, ¶Ç ÇÑ°¡Áö Áß¿äÇÑ Á¡Àº SubMatches Collection Àº VBScript 5.5 ¿¡¼­ºÎÅÍ Áö¿øµÈ´Ù´Â °ÍÀÌ´Ù. µû¶ó¼­ °æ¿ì¿¡ µû¶ó »ç¿ëÀÌ ºÒ°¡´ÉÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª, ÀÌ Á¦¾àÀº Microsoft Windows Script 5.6 À» ¼³Ä¡Çϱ⸸ ÇÏ¸é °£´ÜÇÏ°Ô ÇØ°áµÇ¹Ç·Î ±×´ÙÁö °ÆÁ¤ÇÒ ¸¸ÇÑ ÀÏÀº ¾Æ´Ñ °ÍÀÌ´Ù.

±×·¸´Ù¸é ÀÌ¿Í °°Àº ±â´ÉÀÌ ½ÇÁ¦·Î ¿ì¸®¿¡°Ô ¾î¶² µµ¿òÀ» ÁÙ ¼ö ÀÖ´Â °ÍÀϱî? ¿¹¸¦ µé¸é ÀÌ·± °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ´Ù. ¿ì¸®°¡ ÇÊ¿äÇÑ ÀÓÀÇÀÇ ÆÐÅÏÀ» Áö´Ñ ¹®ÀÚ¿­µéÀ» °Ë»öÇÏ°í ±× °á°ú ¹®ÀÚ¿­µéÀÇ ºÎºÐ ¿ä¼Ò¸¦ ÇØüÇÏ¿© ºÐ¼®Çϰųª ±× Áß ÀϺΠ¿ä¼Ò¸¸ Àç»ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§°¡ ÀÖ´Ù. À̸¦Å׸é URL À» ÇØüÇÏ´Â °Í°ú °°Àº °æ¿ì´Ù. ÀÌ »ç·Ê´Â 'Windows Script V5.6 ¿Â¶óÀÎ ¼³¸í¼­' ¿¡¼­ ¹ßÃéÇÑ °ÍÀÌ´Ù.

    http://msdn.microsoft.com:80/scripting/default.htm


ÀÌ URL Àº ÀÓÀÇ·Î ¼±ÅÃµÈ °ÍÀÌ´Ù. ÀÌ URL ¹®ÀåÀ» ÇØüÇÏ¿© °¢°¢ÀÇ ¿ä¼Ò¸¦ ¾ò¾î³½´Ù°í »ý°¢Çغ¸ÀÚ. ÀÌ ¶§, ´ÙÀ½°ú °°Àº Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀÌ »ý¼º °¡´ÉÇÏ´Ù.

    (w+)://([^/:]+)(:d*)?([^# ]*)


ÀÌ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ¿¡´Â ¼Ò°ýÈ£°¡ ÀüºÎ ³× ¹ø »ç¿ëµÇ¾ú´Ù. µû¶ó¼­ ÀÌ ÆÐÅÏÀ» »ç¿ëÇÏ¿© ´ë»ó URL À» ÇØüÇÑ °á°ú´Â ´ÙÀ½°ú °°´Ù. º°¹Ý Å« ³ë·Â¾øÀ̵µ ¸¸Á·ÇÒ ¸¸ÇÑ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù´Â °ÍÀ» ±ú´ÞÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ ±×º¸´Ù ´õ Áß¿äÇÑ »ç½ÇÀº ÀÌ¿Í °°ÀÌ Àß ±¸¼ºµÈ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀº ºñ½ÁÇÑ ´ëºÎºÐÀÇ °æ¿ì¸¦ Æ÷°ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î Àç»ç¿ëÀÌ ¸Å¿ì ¿ëÀÌÇÏ´Ù´Â Á¡ÀÌ´Ù.

SubMatches(0) ÀÌ °¡Áö°í ÀÖ´Â °ª ¡æ http

SubMatches(1) ÀÌ °¡Áö°í ÀÖ´Â °ª ¡æ msdn.microsoft.com

SubMatches(2) ÀÌ °¡Áö°í ÀÖ´Â °ª ¡æ :80

SubMatches(3) ÀÌ °¡Áö°í ÀÖ´Â °ª ¡æ /scripting/default.htm 

±×·¯³ª ÀÌ·¸°Ô ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­ÀÇ Á¤º¸¸¦ Ç×»ó º°µµÀÇ º¯¼ö¿¡ ÀúÀåÇØ µÎ´Â °ÍÀÌ ¾ðÁ¦³ª ÁÁÀº °Í¸¸Àº ¾Æ´Ï´Ù. »ç¿ëÇÏÁöµµ ¾Ê´Â Á¤º¸¸¦ À§ÇØ ¸Þ¸ð¸®¸¦ ³¶ºñÇÒ ÇÊ¿ä´Â ¾ø´Ù´Â Á¡¿¡´Â ´©±¸³ª µ¿ÀÇÇÒ °ÍÀÌ´Ù. ±×·¡¼­, Á¤±Ô Ç¥Çö½Ä¿¡¼­ Á¦°øÇØ ÁÖ´Â °ÍÀÌ '(?:)' ÀÌ´Ù. À§¿¡¼­ »ç¿ëµÈ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏ, '(ÀúÀå|±â¾ï|ó¸®)ÀåÄ¡' ÀÇ °æ¿ì Á»´õ È¿À²ÀûÀÎ ÆÐÅÏ '(?:ÀúÀå|±â¾ï|ó¸®)ÀåÄ¡' À¸·Î º¯°æÀÌ °¡´ÉÇÏ´Ù. ÀÌ·¸°Ô Çϸé OR ³í¸® ¿¬»êÀÚÀÇ ±â´ÉÀ» °¡Áø ¸ÞŸ ¹®ÀÚ ÆÄÀÌÇÁ (|) ¿¡ ´ëÇÑ ¿¬»ê ±×·ìÀ» ¼³Á¤ÇÏ´Â ±â´É¸¸À» °¡Áú»Ó, º°µµÀÇ º¯¼ö¿¡ ºÎºÐ ÀÏÄ¡ ¹®ÀÚ¿­À» ÀúÀåÇÏ´Â ±â´ÉÀº ½ÇÇàµÇÁö ¾Ê´Â´Ù. ¹°·Ð ´ç¿¬ÇÑ ¾ê±âÁö¸¸ ÀÌ °æ¿ì¿¡´Â SubMatches Collection À» »ç¿ëÇÒ ¼ö ¾ø´Ù. ±× ¹Û¿¡µµ ¼Ò°ýÈ£¿Í °ü·ÃµÈ ¸ÞŸ ¹®Àڷδ '(?=)' ¿Í '(?!)' °¡ Àִµ¥, ÀÌ¿¡ °üÇؼ­´Â °¢ÀÚ ¾Ë¾Æº¸±â ¹Ù¶õ´Ù.


ÇÊÀÚÀÇ ¿¹»ó°ú´Â ´Þ¸® À̹ø ±Û¿¡¼­µµ ±× ºÐ·®ÀÌ ¸Å¿ì ±æ¾îÁ³´Ù. ±×·¡¼­, ¾î¿¼ö ¾øÀÌ ±ÛÀ» ÀÌ Á¤µµ¿¡¼­ ¸¶¹«¸® Áþ°í, Á¤±Ô Ç¥Çö½Ä¿¡ °üÇÑ ±ÛÀ» ÇÑ È¸Á¤µµ ´õ ÀÛ¼ºÇØ¾ß ÇÒ °Í °°´Ù. ´ÙÀ½±Û¿¡¼­´Â Á¤±Ô Ç¥Çö½ÄÀÇ ÇÙ½ÉÀ̶ó°íµµ ¸»ÇÒ ¼ö ÀÖ´Â Replace() ¸Þ¼Òµå¿¡ °üÇؼ­ ¾ê±âÇϵµ·Ï ÇÏ°Ú´Ù. ±×¸®°í °£´ÜÇÏ°Ô³ª¸¶ JavaScript ¸¦ »ç¿ëÇÏ¿© Client Side ¿¡¼­ Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­µµ ¾ê±âÇÏ·Á°í ÇÑ´Ù. ºñ·Ï ±× »ç¿ëÀÌ Á¦ÇÑÀûÀ̱ä ÇÏÁö¸¸ ÀÎÆ®¶ó³Ý (Intranet) °ú °°Àº Ư¼öÇÑ È¯°æ¿¡¼­´Â °¡²û¾¿ ¹ß»ýÇÏ´Â µ¶Æ¯ÇÑ »óȲ¿¡¼­ µ¹Æı¸°¡ µÇ¾îÁÙ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. áä 

Ãâó : Tong - stay29´ÔÀÇ ¦®C#.NET¦°Åë
¹øÈ£ Á¦¸ñ À̸§ ³¯Â¥ Ãßõ Á¶È¸
13 ¹è¿­ÀÌ ÁøÂ¥, Á¤¸», È®½ÇÈ÷ Null ÀÎÁö üũ.. Áö¿ì 2010-05-20 67 7641
12 ¿¡µðÆ®Ç÷¯½º Á¤±Ô½Ä ÀÏ°ý ġȯ Áö¿ì 2010-03-21 63 3116
11 ASP¿ë md5 ÀÎÄÚµù ÇÔ¼öÀÔ´Ï´Ù.ÆÄÀÏ Áö¿ì 2007-09-19 99 6871
10 ¿¡·¯¹ß»ýÀ» ¹«½ÃÇÏ´Â On Error Resume Next[1] Áö¿ì 2007-03-20 81 3852
9 Redim() ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ µ¿Àû¹è¿­ »ç¿ë[1] Áö¿ì 2007-03-19 86 11350
8 RegExp.Test() ¸Þ¼Òµå¿Í RegExp.Execute.. Áö¿ì 2007-03-19 91 4694
7 ÄíÅ° »ç¿ë¹ý Áö¿ì 2007-03-18 76 2566
6 ABC ¾÷·Îµå ÄÄÆÛ³ÍÆ® V4.1 ÆÄÀÏ ¹× »ùÇÃÆÄÀÏ Áö¿ì 2007-03-15 95 6886
5 Re: ABC ¾÷·Îµå ÄÄÆÛ³ÍÆ®[2] Áö¿ì 2007-03-16 92 13977
4 ÀÚµ¿¸µÅ© ÇÔ¼ö Áö¿ì 2007-03-14 79 2150
3 ¹«·á À̹ÌÁö ¸®»çÀÌÁî(GDI) - ³ª´©¹Ì ÄÄÆÛ..ÆÄÀÏ Áö¿ì 2007-03-13 76 17378
2 Dictionnary °´Ã¼, Scripting °´Ã¼ Áö¿ì 2007-03-08 79 3018
1 Á¦3»ç ÄíÅ°°¡ ±¸¿öÁöÁö ¾ÊÀ»¶§ °­Á¦ ¼³Á¤ÇÏ.. Áö¿ì 2006-05-11 94 6630
[1]
Á¦¸ñ ³»¿ë À̸§  
ziwooboard v1.0
Contact Phone Number
Bank Account number
ns1.ziwoo.net (115.160.123.41)
ns2.ziwoo.net (115.160.123.41)
Naver BLOG : http://blog.ziwoo.net
Family Homepage : http://home.ziwoo.net
Copyright ¨Ï 2006 By Ziwoo.net All right reserved. Administrator.ziwoonet@naver.com