<SCRIPT> br='<BR>'; myRegExp=/(\d{2})\W(\d{2})\W(\d{4})/; dateString='25/12/2003'; newString=dateString.replace(myRegExp,'$3³â $2¿ù $1ÀÏ'); str=newString+br; str+='$1 ³»¿ë(RegExp.$1)='+RegExp.$1+br; str+='$2 ³»¿ë(RegExp.$2)='+RegExp.$2+br; str+='$3 ³»¿ë(RegExp.$3)='+RegExp.$3+br; document.write(str); </SCRIPT>
<SCRIPT> var br='<BR>'; var testString='³ª´Â ÀÚ¹Ù½ºÅ©¸³Æ® ¹®ÀåÀ» °øºÎÇÑ´Ù.'; var regexp=/.+?(\s|$)/g; document.write(testString+'<BR>¹®ÀÚ¿ ±æÀÌ : '+testString.length+br); while ((foundArr=regexp.exec(testString)) !=null) document.write('index('+foundArr.index+'-'+foundArr.lastIndex+') : \t'+foundArr[0]+br); </SCRIPT>
ÀÌ ±â´ÉÇÔ¼ö´Â °Ë»ö ¹®ÀÚ¿À» ¹Ýº¹ÇÏ¿© Àû¿ëÇÏ°í ¹®ÀÚ¿ÀÇ °¢ ´Ü¾î¿¡ index¿Í lastIndex °ªÀ» Ãâ·ÂÇÑ´Ù.
<SCRIPT> function RegExpTest(){ var br='<BR>'; // ÁÙ¹Ù²Þ var ver=Number(ScriptEngineMajorVersion()+'.'+ScriptEngineMinorVersion()); // Javascript ¹öÀü ±¸ÇÔ if (ver>=5.5){ // ¹öÀü 5.5 À̻󿡼¸¸ ¼öÇà var src='I am learning Javascript. ³ª´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ¹è¿ì´Â ÁßÀÌ´Ù.'; // Á¡°ËÇÒ ¹®ÀÚ¿ var regexp=/\w+/g; // Á¤±Ô½Ä ´Ü¾î ±¸ºÐ Á¡°Ë½Ä var arr; document.write('¹®ÀÚ¿ ±æÀÌ : '+src.length+br); // ¹®ÀÚ¿ ±æÀÌ Ãâ·Â while ((arr=regexp.exec(src)) !=null) document.write('index('+arr.index+'-'+arr.lastIndex+') : \t'+arr+br); // ¹®ÀÚ¿ ¹è¿º¯¼ö°¡ ÀÖ´Â µ¿¾È °è¼Ó °á°ú Ãâ·Â // print(arr.index+'-'+arr.lastIndex+' : \t'+arr); // ÀμâÀÇ °æ¿ì } else alert('ÀÌ ÀÛ¾÷À» ÇÏ·Á¸é ¾÷µ¥ÀÌÆ® ¹öÀüÀÇ Javascript°¡ ÇÊ¿äÇÏ´Ù.'); // ¹öÀüÀÌ ³·À¸¸é °æ°í } RegExpTest(); // ±â´ÉÇÔ¼ö Á÷Á¢ È£Ãâ </SCRIPT>
<SCRIPT> var br='<BR>'; // ÁÙ¹Ù²Þ var str; var regexp=new RegExp('d(b+)(c)','ig'); // RegExp °³Ã¼ »ý¼º var string='aacdBBBBBBBCbxsdbcdbdzd'; // Á¡°ËÇÒ ¹®ÀÚ¿ var array=regexp.exec(string); // ¹®ÀÚ¿À» °Ë»öÇÑ´Ù. str+='string='+string+br; // ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str+='regexp=<FONT color=red><B>'+regexp+'</B></FONT>'+br; // ´ë¼Ò¹®ÀÚ ±¸º°¾øÀÌ d·Î ½ÃÀÛµÇ°í ¸î°³ÀÇ ´Ù¸¥ ¹®ÀÚ°¡ ³ª¿ÂµÚ¿¡ c ·Î ³¡³ª´Â ¹®ÀÚ¿À» °Ë»öÇÑ´Ù. str+='°Ë»ö¿¡ »ç¿ëÇÑ ¹®ÀÚ¿(RegExp.input)Àº "<font color=blue><b>'+RegExp.input+'</b></font>"ÀÌ´Ù.'+br; // ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str='$1 ³»¿ë: '+RegExp.$1+br; // óÀ½ °ýÈ£¼Ó ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str+='$2 ³»¿ë: '+RegExp.$2+br; // µÎ¹ø½Ø °ýÈ£¼Ó ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str+='$3 ³»¿ë: '+RegExp.$3+br; // ¼¼¹ø° °ýÈ£¼Ó ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. ¾ø´Ù. str+='lastMatch´Â ='+RegExp.lastMatch+br; // ¸¶Áö¸· ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. ÀÏÄ¡ÇÑ ÀüºÎ ´ÙÀÌ´Ù. str+='leftContext´Â ='+RegExp.leftContext+br; // ÀÏÄ¡ÇÑ ¹®ÀÚ¿ ÁÂÃø ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str+='rightContext´Â ='+RegExp.rightContext+br; // ÀÏÄ¡ÇÑ ¹®ÀÚ¿ ¿ìÃø ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. str+='lastParenÀº ='+RegExp.lastParen+br; // ¸¶Áö¸· °ýÈ£¼Ó ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù. document.write(str); // °á°ú Ãâ·Â </SCRIPT>
<SCRIPT> var br='<BR>'; // ÁÙ¹Ù²Þ var testStr='´ëÇѹα¹Àº Á¤º¸Åë½ÅÀÌ ¹ß´ÞÇÑ ±¹°¡ÀÌ´Ù'; // Á¡°Ë ÇÒ ¹®ÀÚ¿ ¼±¾ð sourceTest(/Á¤º¸Åë½Å/g,testStr); // ±â´É È£Ãâ, Àμö´Â Á¤±Ô½Ä Çü½ÄÀÇ °³Ã¼ ½ºÆ®¸µ°ú Á¡°Ë ÇÒ ¹®ÀÚ¿ÀÇ º¯¼ö¸í function sourceTest(reg,testStr){ // ±â´ÉÇÔ¼ö ½ÃÀÛ, Àμö´Â Á¤±Ô½Ä Çü½ÄÀÇ °³Ã¼ ½ºÆ®¸µ°ú Á¡°Ë ÇÒ ¹®ÀÚ¿ÀÇ º¯¼ö¸í var str='testStr('+testStr+') ¼Ó¿¡ '+br; // º¯¼ö ¼±¾ð°ú Á¡°Ë ÇÒ ¹®ÀÚ¿ ³»¿ë Ãâ·Â ¹®ÀÚ¿ ¸¸µë str+='reg.source(<b>'+reg.source+'</b>)ÀÌ/°¡ '; // Á¤±Ô½Ä ÀÚüÀÇ ÅؽºÆ®¸¦ °¡Á®¿Â´Ù if (reg.test(testStr)) str+=' Æ÷ÇԵǾî ÀÖ´Ù.' // Á¤±Ô½Ä Á¸Àç ¿©ºÎ¸¦ ¾Ë±â À§ÇÑ °ËÁ¤, Á¶°Ç °ËÁ¤ °á°ú°¡ true À̸é Á¸ÀçÇÏ´Â °ÍÀÌ°í else str+=' Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù.'; // ¾Æ´Ï¸é(false) Á¸ÀçÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. document.write(str); // °á°ú¸¦ Ãâ·ÂÇÑ´Ù } </SCRIPT>
if (reg.test(testStr))Àº Á¡°Ë ÇÒ ¹®ÀÚ¿·Î Á¤±Ô¹® ³»¿ªÀ» testÇÏ°í, Á¶°Ç °ËÁ¤ °á°ú°¡ true À̸é Á¸ÀçÇÏ´Â °ÍÀÌ°í, ¾Æ´Ï¸é(false) Á¸ÀçÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.
<SCRIPT> var br='<BR>'; // ÁÙ¹Ù²Þ var str=''; var flag='gm'; // Ç÷¡±× ¼³Á¤ var testStr='This is a Regular Expression test example.\nexplanation is in the RegExp object.'; // ÁÙ¹Ù²Þ ¹®ÀÚ(\n) str+='°Ë»ö ¹®ÀÚ¿='+br; str+='[<FONT color=green>'+testStr+'</FONT>]'+br; //°Ë»ö ¹®ÀÚ¿ ¿øº». str+='flag=['+flag+']'+br; Ç÷¡±× Ãâ·Â str+='(flag.match(/^igm/))='+(flag.match(/^igm/))+br; //Ç÷¡±×ÀÇ À¯È¿¼ºÀ» °Ë»çÇÑ´Ù. true À̸é ÁöÁ¤µÈ Ç÷¡±×°¡ À¯È¿ÇÏÁö ¾Ê´Ù. var regexp=new RegExp('ex',flag); //°Ë»öÇÒ ÆÐÅÏÀ» ÁöÁ¤ÇÑ´Ù. str+='regexp='+regexp+br; // Á¤±Ô½Ä ÆÐÅÏ Ãâ·Â str+='Á¤±Ô½Ä ¼Ó¼º °ªµé :<BLOCKQUOTE>'; str+=' regexp.global ='+(regexp.global)+br; // global Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='regexp.ignoreCase='+(regexp.ignoreCase)+br; // ignoreCase Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='regexp.multiline='+(regexp.multiline)+'</BLOCKQUOTE>'; // multiline Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='°á°ú ¹®ÀÚ¿(testStr.replace(regexp,"EX")) ='+br; str+='[<FONT color=blue>'+testStr.replace(regexp,'EX')+'</FONT>]'+br+br; // 'ex'¸¦ 'EX'·Î ¹Ù²Û´Ù. flag='igm'; // Ç÷¡±× ¼³Á¤ regexp=new RegExp('the',flag); // °Ë»öÇÒ ÆÐÅÏÀ» ÁöÁ¤ÇÑ´Ù. str+='regexp='+regexp+br; // Á¤±Ô½Ä ÆÐÅÏ Ãâ·Â str+='Á¤±Ô½Ä ¼Ó¼º °ªµé :<BLOCKQUOTE>'; str+=' regexp.global ='+(regexp.global)+br; // global Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='regexp.ignoreCase='+(regexp.ignoreCase)+br; // ignoreCase Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='regexp.multiline='+(regexp.multiline)+'</BLOCKQUOTE>'; // multiline Ç÷¡±×¸¦ Å×½ºÆ®ÇÑ´Ù. str+='°á°ú ¹®ÀÚ¿(testStr.replace(regexp,"article")) ='+br; str+='[<FONT color=blue>'+testStr.replace(regexp,'article')+'</FONT>]'+br+br; // 'the'¸¦ 'article'·Î ¹Ù²Û´Ù. flag='m'; Ç÷¡±×¸¦ ¼³Á¤ÇÑ´Ù. regexp=new RegExp('^explanation',flag); // °Ë»öÇÒ ÆÐÅÏÀ» ÁöÁ¤ÇÑ´Ù. str+='regexp='+regexp+br; // Á¤±Ô½Ä ÆÐÅÏ Ãâ·Â str+='testStr.replace(regexp,"<B>And</B>")='+br; str+='[<FONT color=brown>'+testStr.replace(regexp,'<B>And</B>')+'</FONT>]'+br; // »õÁÙ ½ÃÀÛ¿¡¼ 'explanation'¸¦ 'And'·Î ¹Ù²Û´Ù. str+='testStr.replace(/^This is a/m,"<FONT color=red>The</FONT>")='+br; // »õÁÙ ½ÃÀÛ¿¡¼ 'This is a'¸¦ 'The'·Î ¹Ù²Û´Ù. str+='[<FONT color=navy>'+testStr.replace(/^This is a/m,"<FONT color=red>The</FONT>")+'</FONT>]'+br; // Á¤±Ô½Ä ÆÐÅÏ Á÷Á¢ ÁöÁ¤Çصµ µÈ´Ù. document.write(str); // °á°ú Ãâ·Â </SCRIPT>
ÀÌ ±â´ÉÇÔ¼ö´Â Çã¿ëµÈ Á¤±Ô½Ä RegExp Ç÷¡±×(g, i, m)¿Í °ü·ÃµÈ ¼Ó¼ºÀÇ Á¶°ÇÀ» ³ªÅ¸³»´Â Å×À̺í°ú ÇÔ²² ¹®ÀÚ¿À» ¹ÝȯÇÑ´Ù. ±â´ÉÇÔ¼ö´Â ¹Ù²ï ¹®ÀÚ¿µµ ÇÔ²² ¹ÝȯÇÑ´Ù.
flag | ¼Ó¼º | ¼³¸í |
g | global | Ç¥½ÃµÈ ±â´ÉÇÔ¼ö¿¡ "g"¸¦ Àü´ÞÇÏ¸é ´Ü¾î "the"ÀÇ ¸ðµç ÀνºÅϽº°¡ ´Ü¾î "a"·Î ¹Ù²ï´Ù. ¹®ÀÚ¿ÀÇ ½ÃÀÛÀÎ "The"´Â ¹Ù²îÁö ¾Ê´Âµ¥, ù ÀÚ°¡ ´ë¹®ÀÚÀ̹ǷΠ"the"ÀÇ ¼Ò¹®ÀÚ "t"¿Í ÀÏÄ¡ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. |
i | ignoreCase | ±×·¯³ª ±â´ÉÇÔ¼ö¿¡ "i"¸¦ Àü´ÞÇÏ¸é ´ë¼Ò¹®ÀÚ¸¦ ¹«½ÃÇÏ°Ô µÇ¹Ç·Î "The"µµ "a"·Î ¹Ù²ï´Ù. ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇ¸é °Ë»öÇÒ ¶§ ´ë¼Ò¹®ÀÚ°¡ ¹«½ÃµÇ±â ¶§¹®¿¡ "T"¿Í "t"´Â °°´Ù°í º»´Ù. |
m | multiline | ±â´ÉÇÔ¼ö¿¡ "m"À» Àü´ÞÇÏ¸é ´Ü¾î whileÀÌ ÁÙ¹Ù²Þ ¹®ÀÚ µÞ ÁÙÀÇ ½ÃÀÛ À§Ä¡¿¡ Àֱ⠶§¹®¿¡ ´Ü¾î whileÀÌ ´Ü¾î and·Î ¹Ù²ï´Ù. "m" Ç÷¡±×¸¦ »ç¿ëÇÏ¸é ¿©·¯ Çà ¹®ÀÚ¿À» °Ë»öÇÒ ¼ö ÀÖ´Ù. |