Á¤±Ô½Ä, Á¤±ÔÇ¥Çö½Ä ´Ù °°Àº¸»ÀÌ´Ù.
¾î´À ÇÁ·Î±×·¡¹Ö¾ð¾îµç Á¤±Ô½Ä, Á¤±ÔÇ¥Çö½Ä À» ´Ù·ç´Â°ÍÀº ºñ½ÁÇÏ´Ù.
1. °³³äÀâ±â
ÀϹÝÈ ½ÃŲ Ç¥Çö. ÀÌ°ÍÀ» Á¤±ÔÇ¥ÇöÀ̶ó°í ¿ä¾àÇÒ ¼ö ÀÖÀ» °Í °°´Ù. ´ÙÀ½ÀÇ °úÁ¤À» ³Ê¹« ½±´Ù »ý°¢¸»°í µû¶ó¿À±æ ¹Ù¶õ´Ù.
- °¨Àâ±â
"12354" -> ¼ýÀÚ "asdfasf" -> ¾ËÆĺª µÎ °¡ÁöÀÇ °£´ÜÁ¤±ÔÇ¥ÇöÀ» ¸¸µé¾ú´Ù. ½Ç»ýÈ°ÀÇ º¸±â¿Í ºñÃ߾ÀÚ. "±æÀÌ°¡ 3ÀÎ À̸§!" À§ÀÇ Ç¥ÇöÀº ±æÀ̸¦ Ç¥½ÃÇÏ´Â ¹æ¹ýÀÌ ¾ø´Ù. Á¶±Ý ´õ ¹ßÀü½ÃÄѼ "¾ËÆĺª{3}"ÀÌ·±½Ä À¸·Î ±æÀ̸¦ Ç¥ÇöÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ±×¸®°í, "¾ËÆĺª"¶õ °Íµµ ³Ê¹« ±æ´Ù "¾Ë"À̶ó°í ÇÑ ±ÛÀڷΠǥÇöÇÑ´Ù. ±×·¯¸é "±æÀÌ°¡ 3ÀÎ À̸§"Àº "¾Ë{3}"À¸·Î Ç¥½Ã°¡ °¡´ÉÇÏ´Ù. ±æÀÌ°¡ 10ÀÎ ¼ýÀÚ´Â "¼ö{10}" "±æÀÌ°¡ 1ÀÎ ¾ËÆĺªÀÌ ³ª¿À°í ±× ´ÙÀ½¿¡ ±æÀÌ°¡ 3ÀÎ ¼ýÀÚ°¡ ³ª¿À´Â ¹®ÀÚ¿"! -> "¾Ë{1}¼ö{3}"¾óÇÍÀ̳ª¸¶ °¨ÀÌ ¿Ã °ÍÀÌ´Ù. "ù ±ÛÀÚ´ÂA, ±× ´ÙÀ½Àº ¾Æ¹« ¾ËÆĺª 5±ÛÀÚ" -> "A¾Ë{5}"
- Á¶±Ý ´õ
¾ÆÀ̵ð´Â ´ë°³ ù ±ÛÀÚ´Â ¿µ¹®ÀÌ°í µÎ ¹ø°ºÎÅÍ´Â ¿µ¹®À̳ª ¼ýÀÚ°¡ ¿Â´Ù. ÀÌ°ÍÀ» Ç¥ÇöÇϱâ À§Çؼ± ÀÌ°Í µé Áß¿¡ Çϳª¶õ Àǹ̸¦ °®´Â »õ·Î¿î Ç¥ÇöÀÌ ÇÊ¿äÇÏ´Ù. "a,b,c,d Áß¿¡ Çϳª" -> [abcd] ÀÀ¿ëÇϸé, "¾ËÆĺªÀ̳ª, ¼ýÀÚÁß Çϳª" -> [¾Ë¼ö] "[" ¾È¿¡ ÀÖ´Â ¹®ÀÚµéÀÇ ¼ø¼´Â Àǹ̰¡ ¾øÀ¸¸ç, ±× Ç¥ÇöÀº (Ŭ·¡½º¶ó°í ÇÑ´Ù.) °á±¹ ÇÑ ±ÛÀÚ¸¦ ¸»ÇÑ´Ù. À§¿¡¼ ¸»ÇÑ "ù ±ÛÀÚ´Â ¿µ¹®, µÎ ¹ø° ºÎÅÍ´Â ¿µ¹®À̳ª ¼ýÀÚ°¡ 11ÀÚ"¸¦ Ç¥ÇöÇϸé, "¾Ë[¾Ë¼ö]{11}". ±×·±µ¥, ½ÇÁ¦·Î ¸ðµç ¾ÆÀ̵𰡠12ÀÚÀÎ °ÍÀº ¾Æ´Ï´Ù, ´ë°³ 4ÀÚºÎÅÍ 12ÀÚ¸¦ Áö¿øÇÑ´Ù. »õ·Î¿î Ç¥ÇöÀÌ µîÀåÇÑ´Ù. "¸î ÀÚºÎÅÍ ¸î ÀÚ" "A°¡ 3±ÛÀÚºÎÅÍ 12ÀÚ" -> "A{3,12}" "¾ËÆĺªÀ̳ª ¼ýÀÚ°¡ 1ÀÚºÎÅÍ 100ÀÚ" -> "[¾Ë¼ö]{1,100}" ÀÌÁ¦ ¾ÆÀ̵𸦠´Ù½Ã Á¤ÀÇÇÏÀÚ. "ù ±ÛÀÚ´Â ¿µ¹®, ¿µ¹®À̳ª ¼ýÀÚ°¡ 3ÀÚºÎÅÍ 11ÀÚ" -> "¾Ë[¾Ë¼ö]{3,11}"
2. Ç¥Çö½Ä
Áö±Ý ±îÁöÀÇ ±ÔÄ¢¿¡¼ ¼³¸íÇÑ ¿ë¾î¸¦ ½ÇÁ¦ Á¤±ÔÇ¥Çö¿¡¼ »ç¿ëÇϴ ǥÇöÀ¸·Î ¹Ù²Ù°í, ´Ù¸¥ ¼¼ºÎÀûÀÎ ¿É¼Ç¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.
\ : ´ÙÀ½ÀÇ ±ÛÀÚ°¡ Ưº°ÇÑ ¹®ÀÚÀÓÀ» ³ªÅ¸³½´Ù. ¶§·Ð, ±× ´ÙÀ½ ¹®ÀÚ ÀÚü¸¦ ÀǹÌÇϱ⵵ ÇÑ´Ù. º¸±â¸¦ µé¸é, "\n"Àº ¹®ÀÚ"\"°ú ¹®ÀÚ"n" µÎ ±ÛÀÚ¿Í ¸ÅÄ¡µÇ´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ñ, »õÁÙ(New Line)À» ÀǹÌÇϸç, "\\"Àº ù "\" ´ÙÀ½ ¹®ÀÚÀÎ "\" ÀÚü¸¦ ÀǹÌÇÑ´Ù. Áï, "\\"Àº "\"°ú ¸ÅĪµÈ´Ù.
^ : ÀԷ¹®ÀÚ¿ÀÇ ¸Ç óÀ½À» ÀǹÌÇÑ´Ù. (¸Ç ù ±ÛÀÚ°¡ ¾Æ´Ï¶ó, ¸Ç óÀ½À̶õ ¹®¸ÆÀû Àǹ̸¦ ¸»ÇÑ´Ù. ¾ÆÁÖ Áß¿äÇÏ´Ù) ±âº»ÀûÀ¸·Î Á¤±ÔÇ¥ÇöÀº ÀÔ·Â ¹®ÀÚ¿ÀÇ ÇÑ ÁÙ¿¡¸¸ Àû¿ëµÈ´Ù. ÇÏÁö¸¸, ¿É¼Ç¿¡ µû¶ó ¿©·¯ÁÙ¿¡ Àû¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·² °æ¿ì¿¡´Â "^"´Â "\n" ³ª "\r" ´ÙÀ½ÀÇ À§Ä¡¸¦ ÀǹÌÇÑ´Ù.
$ : "^"´Â ¹Ý´ë·Î ÀÔ·Â ¹®ÀÚ¿ÀÇ ¸Ç ³¡À» ÀǹÌÇÑ´Ù. ¿ª½Ã ¿©·¯ÁÙ¿¡ Á¤±ÔÇ¥ÇöÀÌ Àû¿ëµÉ °æ¿ì¿¡´Â "\n"À̳ª "\r"ÀÇ ¾ÕÀÇ À§Ä¡¸¦ ÀǹÌÇÑ´Ù.
* : ÀÌ ¹®ÀÚ ¾ÕÀÇ Ç¥ÇöÀÌ 0¹ø³»Áö ¹«Çѹø ¹Ýº¹µÉ ¼ö ÀÖÀ½À» ¸»ÇÑ´Ù. º¸±â¸¦ µé¸é, /a*/Àº "a", "", "aaaa", "aaaaa"¿Í ¸ÅĪµÈ´Ù. (0¹øÀÌ»óÀº ¾ø¾îµµ µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.)
+ : *¿Í °°Áö¸¸, 0¹øÀÌ»óÀÌ ¾Æ´Ï¶ó 1¹øÀÌ»óÀ̶ó´Â Á¡À» Á¦¿ÜÇÏ°ï /*/¿Í °°´Ù.
? : ¾ÕÀÇ Ç¥ÇöÀÌ 0¹ø ¶Ç´Â 1¹ø. /do(es)?/´Â "do", "does"¿Í ¸ÅĪµÈ´Ù.
{n} : ¾ÕÀÇ Ç¥ÇöÀÌ nÀº À½¼ö°¡ ¾Æ´Ñ Á¤¼öÀ̾î¾ß Çϸç, ¾ÕÀÇ Ç¥ÇöÀÌ n¹ø ¸ÅÄ¡µÇ´Â °ÍÀ» ¸»ÇÑ´Ù.
{n,} : ¾ÕÀÇ Ç¥ÇöÀÌ nÀº À½¼ö°¡ ¾Æ´Ñ Á¤¼öÀ̾î¾ß Çϸç, n¹ø ÀÌ»ó ¸ÅÄ¡µÇ´Â °ÍÀ» ¸»ÇÑ´Ù.
{n,m} : ¾ÕÀÇ Ç¥ÇöÀÌ n¹ø ÀÌ»ó ºÎÅÍ m¹ø ÀÌÇϱîÁö ¸ÅĪµÇ´Â °ÍÀ» ¸»Çϸç, /*/´Â /{0,}/°ú °°À¸¸ç, /+/´Â /{1,}/°ú /?/´Â /{0,1}/À¸·Î Ç¥Çö °¡´ÉÇÏ´Ù.
. : "\n"À» Á¦¿ÜÇÑ ÇÑ ±ÛÀÚ¸¦ ¶æÇÑ´Ù. ¸¸ÀÏ ¸ðµç ±ÛÀÚ¸¦ Ç¥ÇöÇÏ°í ½Í´Ù¸é("\n"¸¶Àúµµ ÇÕÄ£) /[.\n]/À» »ç¿ëÇÏ¸é µÈ´Ù.
x|y : x ¶Ç´Â y¿Í ¸ÅĪµÈ´Ù. º¸±â¸¦ µé¸é, /z|food/´Â "z" ¶Ç´Â "food"¿Í ¸ÅĪµÈ´Ù. /(z|f)ood/´Â "zood" ¶Ç´Â "food"¿Í ¸ÅĪµÈ´Ù. (Âü°í·Î °ýÈ£´Â ¹¾îÁØ °Í ÀÌ»óÀÇ Àǹ̰¡ ÀÖ´Ù.)
(ÆÐÅÏ) : ÇØ´ç ÆÐÅÏ°ú ¸ÅĪ½ÃÅ°°í, ±× ºÎºÐÀ» ƯÁ¤ º¯¼ö¿¡ ´ã´Â´Ù. ±× º¯¼ö À̸§Àº JScript´Â $0~$9±îÁöÀÇ º¯¼ö¿¡ ÀúÀåÀÌ µÇ°í(Perl°ú °°´Ù.), VBScript¿¡¼´Â SubMatches Ä÷º¼Ç¿¡ ÀúÀåµÈ´Ù. °ýÈ£±âÈ£ ÀÚü¿Í ¸ÅÄ¡½ÃÅ°°í ½Í´Ù¸é? /\(/¿Í /\)/¸¦ »ç¿ëÇÑ´Ù.
(?:ÆÐÅÏ) : ÇØ´ç ÆÐÅÏ°ú ¸ÅĪÀº ½ÃÅ°Áö¸¸, ±× ºÎºÐÀ» ƯÁ¤ º¯¼ö¿¡ ´ãÁö ¾Ê´Â´Ù. ¿Ö ÀÌ°Ô ÇÊ¿äÇÒ±î? À§ÀÇ º¸±â¿¡¼ /(z|f)ood/´Â "zood" ¶Ç´Â "food"¿Í ¸ÅĪµÈ´Ù°í Çߴµ¥, ´Ü¼øÈ÷ ¸ÅĪÀÇ ¸ñÀûÀ¸·Î »ç¿ëÇßÁö¸¸, "zood"ÀÇ °æ¿ì "z"°¡ $0 À̶õ º¯¼ö¿¡ ÀúÀåÀÌ µÇ°í ¸»¾Ò´Ù. ÀÌ·¯ÇÑ °ÍÀ» ¸·±â À§Çؼ »ç¿ëÇÏ´Â °ÍÀÌ (?:ÆÐÅÏ)ÀÌ´Ù.
(?=ÆÐÅÏ) : (?:ÆÐÅÏ)°ú µ¿ÀÏÇÏÁö¸¸, ÆÐÅÏ°ú ÀÏÄ¡ÇÑ ºÎºÐÀÌÈĺÎÅÍ ´ÙÀ½ ¸ÅÄ¡°¡ ÀϾÁö ¾Ê°í ÆÐÅÏ ¾ÕºÎÅÍ ´Ù½Ã ¸ÅĪÀÌ ÁøÇàµÈ´Ù. Áï, ·è¾÷(lookup, lookahead)À» ÇÒ »ÓÀÌ´Ù. /Windows (?=95|98|NT|2000)/ Àº "Windows 2000"ÀÇ "Windows" ºÎºÐ°ú ¸ÅĪÀÌ µÇ¸ç ´ÙÀ½ ¸ÅĪÀº "2000" ´ÙÀ½ ºÎÅÍ°¡ ¾Æ´Ñ "Windows" ´ÙÀ½ ºÎÅÍ ÁøÇàÀÌ µÈ´Ù.
(?!ÆÐÅÏ) : (?=ÆÐÅÏ)°ú ¹Ý´ë´Ù. /Windows (?=95|98|NT|2000)/ Àº "Windows 3.1"ÀÇ "Windows" ºÎºÐ°ú ¸ÅĪÀÌ µÈ´Ù.
[xyz] : "["¾È¿¡ Àִ ǥÇöÁß Çϳª¸¦ ÀǹÌÇÑ´Ù.
[^xyz] : "["¾È¿¡ Àִ ǥÇöÀ» Á¦¿ÜÇÑ °ÍÁß Çϳª¸¦ ÀǹÌÇÑ´Ù. "[^abc]"´Â "plain"ÀÇ "p"¶§¹®¿¡ ¸ÅĪµÈ´Ù.
[a-z] : "a"ºÎÅÍ "z" ±îÁöÀÇ ¹®ÀÚÁß Çϳª
[^a-z] : "a"ºÎÅÍ "z" ±îÁöÀÇ ¹®ÀÚ¸¦ Á¦¿ÜÇÑ Çϳª
\b : ´Ü¾îÀÇ °æ°è(´Ü¾î¿Í °ø¹é, "\n", "\r"ÀÇ »çÀÌ)¿Í ¸ÅĪµÈ´Ù. º¸±â¸¦ µé¸é, "er\b"´Â "never"¿Í´Â ¸ÅĪµÇÁö¸¸, "verb"¿Í´Â ¸ÅĪµÇÁö ¾Ê´Â´Ù.
\B : ´Ü¾îÀÇ °æ°è°¡ ¾Æ´Ñ °Í°ú ¸ÅĪµÈ´Ù. "er\B"´Â "verb"¿Í´Â ¸ÅĪµÇÁö¸¸, "never"¿Í´Â ¸ÅĪµÇÁö ¾Ê´Â´Ù.
\cx : Ctrl+x Å°¿Í ¸ÅĪµÈ´Ù. "\cc"´Â Ctrl+C¿Í ¸ÅĪµÈ´Ù. xÀÇ ¹üÀ§´Â [a-zA-Z]À̸ç, ¸¸ÀÏ ÀÌ ÀÌ¿ÜÀÇ ¹®ÀÚ¸¦ »ç¿ëÇÑ´Ù¸é "\c"´Â "c"¿Í µ¿ÀÏÇÏ´Ù.
\d : [0-9]¿Í °°´Ù.
\D : [^0-9]¿Í °°´Ù. Âü°í·Î ´ë¹®ÀÚ´Â ¼Ò¹®ÀÚÀÇ ¹Ý´ë Àǹ̸¦ °®´Â´Ù.
\f : ÆûÇǵå(form-feed) ¹®ÀÚ¸¦ ÀǹÌÇϸç, "\x0c"¿Í "\cL"°ú µ¿ÀÏÇÏ´Ù.
\n : »õ ÁÙ(newline)¸¦ ÀǹÌÇϸç, "\x0a"¿Í "\cJ"¿Í µ¿ÀÏÇÏ´Ù.
\r : ij¸®Áö ¸®ÅÏ(carriage return)À» ÀǹÌÇϸç, "\x0d"¿Í "\cM"°ú µ¿ÀÏÇÏ´Ù.
\t : ÅÇ. "\x09", "\cI"°ú µ¿ÀÏ
\v : ¹öƼÄà ÅÇ. "\x0b", "\cK"°ú µ¿ÀÏ
\s : ÈÀÌÆ®½ºÆäÀ̽º¸¦ ÀǹÌÇÑ´Ù. ÈÀÌÆ®½ºÆäÀ̽º¶õ °ø¹é, ÅÇ, ÆûÇǵå, ij¸®Áö¸®ÅϵîÀ» ÀǹÌÇÑ´Ù. [ \f\n\r\t\v]°ú µ¿ÀÏ("\f"¾Õ¿¡ °ø¹éÀÌ ÀÖ´Ù. ÁÖÀÇ!)
\S : "[^ \f\n\r\t\v]"
\w : "_"¸¦ Æ÷ÇÔÇÑ ÀϹÝÀûÀÎ ´Ü¾î¿¡ »ç¿ëµÇ´Â ¹®ÀÚ¸¦ ¸»ÇÑ´Ù. "[A-Za-z0-9_]" °ú µ¿ÀÏ
\W : "[^A-Za-z0-9_]"
\xn : nÀº 2ÀÚ¸® 16Áø¼öÀ̸ç, ÇØ´ç 16Áø¼ö ÄÚµå¿Í ¸ÅĪµÈ´Ù. "\x412"´Â 16Áø¼ö 41Àº "A"À̱⠶§¹®¿¡ "A2"¿Í ¸ÅĪµÈ´Ù.
\num : ĸÃÄÇÑ ¸ÅĪÀ» °¡¸®Å²´Ù(¹é·¹ÆÛ·±½º, backreference). "(.)\1"Àº ¿¬¼ÓµÈ µÎ°³ÀÇ ¹®ÀÚ¿À» ÀǹÌÇÑ´Ù. \n : "\1"Àº À§¿¡¼ ĸÃÄÇÑ ¸ÅĪ(backreference)¸¦ °¡¸®Å²´Ù°í Çߴµ¥, ¸¸ÀÏ ÀÌ ÆÐÅϾտ¡ ¾î¶°ÇÑ n°³ÀÇ Ä¸ÃÄÇÑ Ç¥ÇöÀÌ ÀÖ´Ù¸é ¹é·¹ÆÛ·±½ºÀÌÁö¸¸, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â 8Áø¼ö·Î °£ÁÖÇÏ¿© ÇØ´ç ÄÚµåÀÇ ¹®ÀÚ¿Í ¸ÅĪµÈ´Ù.
\un : nÀº 4ÀÚ¸® UNICODE ÀÌ´Ù. "\u00A9"Àº copyright ½Éº¼ÀÎ "¨Ï"¿Í ¸ÅĪµÈ´Ù.
greedy, non-greedy
? : ¾Õ¿¡¼ ¼³¸íÇߴµ¥, ¿Ö ¶Ç? ¶ó°í »ý°¢ÇÒ °ÍÀÌ´Ù. ?Àº ¹®¸Æ¿¡ µû¶ó Ưº°ÇÑ Àǹ̸¦ °®´Â´Ù. ÆÐÅÏ "o*"´Â "foooood"¿Í ¸ÅĪµÈ´Ù. ´ç¿¬ÇÏ´Ù! ÇÏÁö¸¸, "f"¾ÕÀÇ "o"¿Í ¸ÅĪµÇ´Â °ÍÀÌ ¾Æ´Ï´Ù!! "ooooo"¿Í ¸ÅĪµÈ °ÍÀÌ´Ù. Áï, ±âº»À¸·Î Á¤±ÔÇ¥Çö ¸ÅĪÀº °¡Àå Å« ¹üÀ§¸¦ ¼±ÅÃÇÑ´Ù. ÀÌ°ÍÀ» greedyÇÏ´Ù°í ÇÑ´Ù. ÇÏÁö¸¸, ¶§·Ð ÀÛÀº ¹üÀ§¿¡ ¸ÅĪ½Ãų ÇÊ¿ä°¡ ÀÖÀ» °æ¿ì°¡ ÀÖ´Ù. (ÀÌÀÇ ÀûÀýÇÑ º¸±â´Â Àá½Ã ÈÄ¿¡ ³ª¿Â´Ù.) "o*?"°¡ ¹æ±Ý ¸»ÇÑ non-greedy ¸ÅĪÀÌ´Ù. ¼ö·®°ü·Ã ¹®ÀÚÀÎ "*", "+", "?", "{n}", "{n,}", "{n,m}" ´ÙÀ½¿¡ "?"°¡ ³ª¿À¸é non-greedy ¸ÅĪÀ̵ȴÙ. Àá½Ã, À§¿¡¼ "o*?"°¡ "o"¿Í ¸ÅĪµÈ´Ù°í Çߴµ¥ ÀÌ»óÇÏ°Ô »ý°¢ÇÑ ºÐÀÌ ÀÖ¾úÀ» °ÍÀÌ´Ù. ¸Â´Ù. "o*?"´Â ""¿Í ¸ÅĪµÇ¾ú´Ù. "*"´Â 0°³ÀÌ»óÀÓÀ» Àؾ ¾ÈµÈ´Ù. "o+?"°¡ "o"¿Í ¸ÅĪµÈ´Ù.
4. º¸±â
- À¥ ÁÖ¼Ò
"http://msdn.microsoft.com:80/scripting/default.htm" À§ÀÇ ÁÖ¼Ò¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Â Á¤±ÔÇ¥ÇöÀº ¾Æ·¡¿Í °°´Ù. /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ $1 : http $2 : msdn.microsoft.com $3 : 80 $4 : /scripting/default.htm
- Áߺ¹µÈ ´Ü¾î¸¦ Çϳª·Î
Áߺ¹µÈ ¿µ¾î´Ü¾î¸¦ Çϳª·Î ÇÕÄ¡±â À§Çؼ±, ¿ì¼± ´Ü¾î¸¦ ã¾Æ¾ßÇÑ´Ù. ±×¸®°í ´Ü¾î´Â ¾Õ µÚ°¡ ´Ü¾îÀÇ °æ°èÀ̾î¾ßÇÑ´Ù. (¸»ÀÌ Âü ÀÌ»óÇÏÁö¸¸..) µû¶ó¼, ¾Æ·¡¿Í °°Àº 1Â÷ Á¤±ÔÇ¥ÇöÀ» ¾òÀ» ¼ö ÀÖ´Ù.
/\b([a-z]+)\b/
¿¬¼ÓÇؼ µ¿ÀÏÇÑ µÎ°³ÀÇ ´Ü¾î... ¾Õ¿¡¼ ĸÃÄÇÑ Ç¥ÇöÀ» ´Ù½Ã È°¿ëÇÏ¸é µÈ´Ù. ±×¸®°í, ´Ü¾î¿Í ´Ü¾î »çÀÌ¿£ ÈÀÌÆ®½ºÆäÀ̽º°¡ ÀÖ´Ù.
/\b([a-z]+)\s+\1\b/
- HTML ÅÂ±× Á¦°Å
HTML¹®¼¿¡¼ ű׸¦ Á¦°ÅÇÑ ¹®¼¸¦ ÃßÃâÇÏ°íÀÚ ÇÑ´Ù. ű״ "<"¿Í ">"·Î °¨½Î¿© ÀÖ´Ù.
/<.*>.*</.*>/
±×·±µ¥, À§ÀÇ Á¤±ÔÇ¥ÇöÀ» HTML¹®¼¿¡ Àû¿ëÇÏ¿© ÇØ´ç ÆÐÅÏÀ» "", ºó¹®ÀÚ¿·Î ¹Ù²Ù¸é ¹®¼´Â ºó ¹®¼°¡ µÇ°í ¸¸´Ù.
<html> <title>...</title> <body> <font>.... </font> ... </body> greedyÇÑ ¸ÅĪÀÌ ±âº»°ªÀ̶ó°í À§¿¡¼ ¾ð±ÞÀ» Çß´Ù. µû¶ó¼, À§ÀÇ HTML ¹®¼¸¦ º¸¸é, <html>....</body>·Î »ý°¢ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼, ¹®¼ Àüü°¡ »ç¶óÁö´Â °ÍÀÌ´Ù. ÀÌ°ÍÀ» ¸·±â À§Çؼ± "*"µÚ¿¡ "?"¸¦ Ãß°¡ÇÏ¸é µÈ´Ù.
/<.*?>.*?</.*?>/
¾ÆÁ÷ ³¡³ªÁö ¾Ê¾Ò´Ù. :)
Á»´õ Á¤Á¦¸¦ ÇÑ´Ù¸é, ¿Ã¹Ù¸¥ HTML ¹®¼´Â <ű׸í>°ú </ű׸í>ÀÌ ¼·Î ÀÏÄ¡ÇÑ´Ù. À̰͵µ Àû¿ëÇÑ´Ù¸é,
/<.(*?)>.(*?)</\1>/
À§ÀÇ $1¿¡ ÇØ´çµÇ´Â ºÎºÐÀ» Á» ´õ »ý°¢Çغ¸¸é, ">"¸¦ Á¦¿ÜÇÑ ¹®ÀÚ·Î º¼ ¼ö ÀÖ´Ù. µû¶ó¼ ÃÖÁ¾ÀûÀ¸·Î ¾Æ·¡¿Í °°ÀÌ Á¤¸®µÈ´Ù.
/<(\w+)[^>]*?>(.*?)</\1>/
- URL
/(?:^|")(http|ftp|mailto):(?://)?(\w+(?:[\.:@]\w+)*?)(?:/|@)([^"\?]*?)(?:\? ([^\?"]*?))?(?:$|")/
- float »ó¼ö
/^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$/ -1.1 1.1 .9 .8
Á¤±Ô½Ä ±¸¹® Á¤±Ô½ÄÀº ÀÏ¹Ý ¹®ÀÚ(¿¹: a¿¡¼ z)¿Í ¸ÞŸ¹®ÀÚ ·Î ¾Ë·ÁÁø Ư¼ö ¹®ÀÚ·Î ±¸¼ºµÈ ÅؽºÆ® ÆÐÅÏÀÔ´Ï´Ù. ÆÐÅÏÀº ÅؽºÆ® º»¹®À» °Ë»öÇÒ ¶§ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿À» Çϳª ÀÌ»ó ¼³¸íÇÕ´Ï´Ù. Á¤±Ô½ÄÀº °Ë»öµÇ´Â ¹®ÀÚ¿°ú ÀÏÄ¡ÇÏ´Â ¹®ÀÚ ÆÐÅÏÀ» ã´Â ÅÛÇø´ÀÇ ¿ªÇÒÀ» ÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î º¼ ¼ö ÀÖ´Â ¸î °¡Áö Á¤±Ô½Ä ¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.
JScript VBScript °Ë»ö /^\[ \t]*$/ "^\[ \t]*$" ºó ÁÙÀ» ã½À´Ï´Ù. /\d{2}-\d{5}/ "\d{2}-\d{5}" 2ÀÚ¸®, ÇÏÀÌÇ ¹× 5ÀÚ¸®·Î ±¸¼ºµÈ ID ¹øÈ£¸¦ ã½À´Ï´Ù. /<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" HTML ű׸¦ ã½À´Ï´Ù.
¾Æ·¡ Ç¥´Â Á¤±Ô½Ä ÄÁÅؽºÆ®¿¡ »ç¿ëµÇ´Â ¸ðµç ¸ÞŸ¹®ÀÚ¿Í ¸ÞŸ¹®ÀÚÀÇ µ¿ÀÛÀ» º¸¿©ÁÝ´Ï´Ù.
¹®ÀÚ ¼³¸í \ ±× ´ÙÀ½ ¹®ÀÚ¸¦ Ư¼ö ¹®ÀÚ, ¸®ÅÍ·², ¿ªÂüÁ¶, ¶Ç´Â 8Áø¼ö À̽ºÄÉÀÌÇÁ·Î Ç¥½ÃÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, "n"Àº ¹®ÀÚ "n"À» ã°í "\n"Àº ÁÙ ¹Ù²Þ ¹®ÀÚ¸¦ ã½À´Ï´Ù. "\\" ½ÃÄö½º´Â "\"¸¦ ã°í "\("´Â "("¸¦ ã½À´Ï´Ù. ^ ÀÔ·Â ¹®ÀÚ¿ÀÇ ½ÃÀÛ À§Ä¡¸¦ ã½À´Ï´Ù. Multiline ¼Ó¼ºÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¸é ^´Â ''''\n'''' ¶Ç´Â ''''\r''''¾ÕÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. $ ÀÔ·Â ¹®ÀÚ¿ÀÇ ³¡ À§Ä¡¸¦ ã½À´Ï´Ù. Multiline ¼Ó¼ºÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¸é $´Â ''''\n'''' ¶Ç´Â ''''r''''µÚÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. * ºÎºÐ½ÄÀÇ ¼±Çà ¹®ÀÚ¸¦ 0°³ ÀÌ»ó ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "zo*"´Â "z", "zoo" µîÀÔ´Ï´Ù. *´Â {0,}¿Í °°½À´Ï´Ù. + ºÎºÐ½ÄÀÇ ¼±Çà ¹®ÀÚ¸¦ ÇÑ °³ ÀÌ»ó ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "zo+"´Â "zo", "zoo" µîÀÌÁö¸¸ "z"´Â ¾Æ´Õ´Ï´Ù. +´Â {1,}¿Í °°½À´Ï´Ù. ? ºÎºÐ½ÄÀÇ ¼±Çà ¹®ÀÚ¸¦ 0°³ ¶Ç´Â ÇÑ °³ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "do(es)?"´Â "do" ¶Ç´Â "does"ÀÇ "do"¸¦ ã½À´Ï´Ù. ?´Â {0,1}°ú °°½À´Ï´Ù. { n } n Àº À½ÀÌ ¾Æ´Ñ Á¤¼öÀÔ´Ï´Ù. Á¤È®È÷ n °³ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "o{2}"´Â "Bob"ÀÇ "o"´Â ãÁö ¾ÊÁö¸¸ "food"ÀÇ o µÎ °³´Â ã½À´Ï´Ù. { n ,} n Àº À½ÀÌ ¾Æ´Ñ Á¤¼öÀÔ´Ï´Ù. Á¤È®È÷ n °³ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "o{2}"´Â "Bob"ÀÇ "o"´Â ãÁö ¾ÊÁö¸¸ "foooood"ÀÇ ¸ðµç o´Â ã½À´Ï´Ù. "o{1,}"´Â "o+"¿Í °°°í, "o{0,}"´Â "o*"¿Í °°½À´Ï´Ù. { n , m } m °ú n Àº À½ÀÌ ¾Æ´Ñ Á¤¼öÀÔ´Ï´Ù. ¿©±â¼ m Àº n º¸´Ù Å©°Å³ª °°½À´Ï´Ù. ÃÖ¼Ò n °³, ÃÖ´ë m °³ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "o{1,3}"Àº "fooooood"ÀÇ Ã³À½ ¼¼ °³ÀÇ o¸¦ ã½À´Ï´Ù. "o{0,1}"Àº "o?"¿Í °°½À´Ï´Ù. ½°Ç¥¿Í ¼ýÀÚ »çÀÌ¿¡´Â °ø¹éÀ» ³ÖÀ» ¼ö ¾ø½À´Ï´Ù. ? ÀÌ ¹®ÀÚ°¡ ´Ù¸¥ ÇÑÁ¤ ºÎÈ£(*, +, ?, { n }, { n ,}, { n , m })ÀÇ ¹Ù·Î µÚ¿¡ ³ª¿Ã °æ¿ì ÀÏÄ¡ ÆÐÅÏÀº Á¦ÇÑÀûÀÔ´Ï´Ù. ±âº»°ªÀÎ ¹«Á¦ÇÑ ÆÐÅÏÀº °¡´ÉÇÑ ¸¹Àº ¹®ÀÚ¿À» ã´Â µ¥ ¹ÝÇØ Á¦ÇÑÀûÀÎ ÆÐÅÏÀº °¡´ÉÇÑ ÀûÀº ¹®ÀÚ¿À» ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "oooo" ¹®ÀÚ¿¿¡¼ "o+?"´Â "o" ÇÑ °³¸¸ ã°í, "o+"´Â ¸ðµç "o"¸¦ ã½À´Ï´Ù. . "\n"À» Á¦¿ÜÇÑ ¸ðµç ´ÜÀÏ ¹®ÀÚ¸¦ ã½À´Ï´Ù. "\n"À» Æ÷ÇÔÇÑ ¸ðµç ¹®ÀÚ¸¦ ãÀ¸·Á¸é ''''[.\n]'''' ÆÐÅÏÀ» »ç¿ëÇϽʽÿÀ. ( pattern ) pattern À» ã¾Æ °Ë»öÇÑ ¹®ÀÚ¿À» ĸóÇÕ´Ï´Ù. ĸóÇÑ ¹®ÀÚ¿Àº VBScriptÀÇ °æ¿ì SubMatches Ä÷º¼Ç, JscriptÀÇ °æ¿ì $0 ... $9 ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© °á°ú·Î ³ª¿À´Â Matches Ä÷º¼Ç¿¡¼ ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. °ýÈ£ ¹®ÀÚÀÎ ( )¸¦ ãÀ¸·Á¸é "\(" ¶Ç´Â "\)"¸¦ »ç¿ëÇϽʽÿÀ. (?: pattern ) pattern À» ãÁö¸¸ °Ë»öÇÑ ¹®ÀÚ¿À» ĸóÇÏÁö ¾Ê½À´Ï´Ù. Áï, °Ë»öÇÑ ¹®ÀÚ¿À» ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀúÀåÇÏÁö ¾Ê´Â ºñĸó °Ë»öÀÔ´Ï´Ù. ÀÌ°ÍÀº ÆÐÅÏÀÇ ÀϺθ¦ "or" ¹®ÀÚ(|)·Î ¹À» ¶§ À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ''''industr(?:y|ies)´Â ''''industry|industries''''º¸´Ù ´õ °æÁ¦ÀûÀÎ ½ÄÀÔ´Ï´Ù. (?= pattern ) Æ÷ÇÔ ¿¹»ó °Ë»öÀº pattern °ú ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿ÀÌ ½ÃÀÛÇÏ´Â À§Ä¡¿¡¼ °Ë»öÇÒ ¹®ÀÚ¿À» ã½À´Ï´Ù. ÀÌ°ÍÀº °Ë»öÇÑ ¹®ÀÚ¿À» ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ĸóÇÏÁö ¾Ê´Â ºñĸó °Ë»öÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, "Windows(?=95|98|NT|2000)"´Â "Windows 2000"ÀÇ "Windows"´Â ãÁö¸¸ "Windows 3.1"ÀÇ "Windows"´Â ãÁö ¾Ê½À´Ï´Ù. ¿¹»ó °Ë»öÀº °Ë»öÇÒ ¹®ÀÚ¿À» ãÀº ÈÄ ¿¹»ó °Ë»ö ¹®ÀÚ¿À» ±¸¼ºÇÏ´Â ¹®ÀÚ ´ÙÀ½ºÎÅÍ°¡ ¾Æ´Ï¶ó ¸¶Áö¸·À¸·Î °Ë»öÇÑ ¹®ÀÚ¿ ¹Ù·Î ´ÙÀ½ºÎÅÍ Ã£±â ½ÃÀÛÇÕ´Ï´Ù. (?! pattern ) Á¦¿Ü ¿¹»ó °Ë»öÀº pattern °ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ¹®ÀÚ¿ÀÌ ½ÃÀÛÇÏ´Â À§Ä¡¿¡¼ °Ë»öÇÒ ¹®ÀÚ¿À» ã½À´Ï´Ù. ÀÌ°ÍÀº °Ë»öÇÑ ¹®ÀÚ¿À» ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ĸóÇÏÁö ¾Ê´Â ºñĸó °Ë»öÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, "Windows(?!95|98|NT|2000)"´Â "Windows 3.1"ÀÇ "Windows"´Â ãÁö¸¸ "Windows 2000"ÀÇ "Windows"´Â ãÁö ¾Ê½À´Ï´Ù. ¿¹»ó °Ë»öÀº °Ë»öÇÒ ¹®ÀÚ¿À» ãÀº ÈÄ ¿¹»ó °Ë»ö ¹®ÀÚ¿À» ±¸¼ºÇÏ´Â ¹®ÀÚ ´ÙÀ½ºÎÅÍ°¡ ¾Æ´Ï¶ó ¸¶Áö¸·À¸·Î °Ë»öÇÑ ¹®ÀÚ¿ ¹Ù·Î ´ÙÀ½ºÎÅÍ Ã£±â ½ÃÀÛÇÕ´Ï´Ù. x | y x ¶Ç´Â y ¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "z|food"´Â "z" ¶Ç´Â "food"¸¦ ã½À´Ï´Ù. "(z|f)ood"´Â "zood" ¶Ç´Â "food"¸¦ ã½À´Ï´Ù. [ xyz ] ¹®ÀÚ ÁýÇÕÀÔ´Ï´Ù. °ýÈ£ ¾ÈÀÇ ¹®ÀÚ Áß Çϳª¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "[abc]"´Â "plain"ÀÇ "a"¸¦ ã½À´Ï´Ù. [^ xyz ] Á¦¿Ü ¹®ÀÚ ÁýÇÕÀÔ´Ï´Ù. °ýÈ£ ¹ÛÀÇ ¹®ÀÚ Áß Çϳª¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "[^abc]"´Â "plain"ÀÇ "p"¸¦ ã½À´Ï´Ù. [ a-z ] ¹®ÀÚ ¹üÀ§ÀÔ´Ï´Ù. ÁöÁ¤ÇÑ ¹üÀ§ ¾ÈÀÇ ¹®ÀÚ¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "[a-z]"´Â "a"ºÎÅÍ "z" »çÀÌÀÇ ¸ðµç ¼Ò¹®ÀÚ¸¦ ã½À´Ï´Ù. [^ a-z ] Á¦¿Ü ¹®ÀÚ ¹üÀ§ÀÔ´Ï´Ù. ÁöÁ¤µÈ ¹üÀ§ ¹ÛÀÇ ¹®ÀÚ¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "[^a-z]"´Â "a"ºÎÅÍ "z" »çÀÌ¿¡ ¾ø´Â ¸ðµç ¹®ÀÚ¸¦ ã½À´Ï´Ù. \b ´Ü¾îÀÇ °æ°è, Áï ´Ü¾î¿Í °ø¹é »çÀÌÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, "er\b"´Â "never"ÀÇ "er"´Â ãÁö¸¸ "verb"ÀÇ "er"´Â ãÁö ¾Ê½À´Ï´Ù. \B ´Ü¾îÀÇ ºñ°æ°è¸¦ ã½À´Ï´Ù. "er\B"´Â "verb"ÀÇ "er"´Â ãÁö¸¸ "never"ÀÇ "er"´Â ãÁö ¾Ê½À´Ï´Ù. \c x X °¡ ³ªÅ¸³»´Â Á¦¾î ¹®ÀÚ¸¦ ã½À´Ï´Ù. ¿¹¸¦ µé¾î, \cMÀº Control-M Áï, ij¸®Áö ¸®ÅÏ ¹®ÀÚ¸¦ ã½À´Ï´Ù. x °ªÀº A-Z ¶Ç´Â a-zÀÇ ¹üÀ§ ¾È¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é c´Â ¸®ÅÍ·² "c" ¹®ÀÚ·Î °£Áֵ˴ϴÙ. \d ¼ýÀÚ ¹®ÀÚ¸¦ ã½À´Ï´Ù. [0-9]¿Í °°½À´Ï´Ù. \D ºñ¼ýÀÚ ¹®ÀÚ¸¦ ã½À´Ï´Ù. [^0-9]¿Í °°½À´Ï´Ù. \f ÆûÇÇµå ¹®ÀÚ¸¦ ã½À´Ï´Ù. \x0c¿Í \cL°ú °°½À´Ï´Ù. \n ÁÙ ¹Ù²Þ ¹®ÀÚ¸¦ ã½À´Ï´Ù. \x0a¿Í \cJ¿Í °°½À´Ï´Ù. \r ij¸®Áö ¸®ÅÏ ¹®ÀÚ¸¦ ã½À´Ï´Ù. \x0d¿Í \cM°ú °°½À´Ï´Ù. \s °ø¹é, ÅÇ, ÆûÇÇµå µîÀÇ °ø¹éÀ» ã½À´Ï´Ù. "[ \f\n\r\t\v]"¿Í °°½À´Ï´Ù. \S °ø¹éÀÌ ¾Æ´Ñ ¹®ÀÚ¸¦ ã½À´Ï´Ù. "[^ \f\n\r\t\v]"¿Í °°½À´Ï´Ù. \t ÅÇ ¹®ÀÚ¸¦ ã½À´Ï´Ù. \x09¿Í \cI¿Í °°½À´Ï´Ù. \v ¼öÁ÷ ÅÇ ¹®ÀÚ¸¦ ã½À´Ï´Ù. \x0b¿Í \cK¿Í °°½À´Ï´Ù. \w ¹ØÁÙÀ» Æ÷ÇÔÇÑ ¸ðµç ´Ü¾î ¹®ÀÚ¸¦ ã½À´Ï´Ù. "[A-Za-z0-9_]"¿Í °°½À´Ï´Ù. \W ¸ðµç ºñ´Ü¾î ¹®ÀÚ¸¦ ã½À´Ï´Ù. "[^A-Za-z0-9_]"¿Í °°½À´Ï´Ù. \x n n À» ã½À´Ï´Ù. ¿©±â¼ n Àº 16Áø¼ö À̽ºÄÉÀÌÇÁ °ªÀÔ´Ï´Ù. 16Áø¼ö À̽ºÄÉÀÌÇÁ °ªÀº Á¤È®È÷ µÎ ÀÚ¸®¿©¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ''''\x41''''Àº "A"¸¦ ã°í ''''\x041''''Àº ''''\x04''''¿Í "1"°ú °°½À´Ï´Ù. Á¤±Ô½Ä¿¡¼ ASCII Äڵ带 »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. \ num num À» ã½À´Ï´Ù. ¿©±â¼ num Àº ¾çÀÇ Á¤¼öÀÔ´Ï´Ù. ĸóÇÑ ¹®ÀÚ¿¿¡ ´ëÇÑ ¿ªÂüÁ¶ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ''''(.)\1''''Àº ¿¬¼ÓÀûÀ¸·Î ³ª¿À´Â µ¿ÀÏÇÑ ¹®ÀÚ µÎ °³¸¦ ã½À´Ï´Ù. \ n 8Áø¼ö À̽ºÄÉÀÌÇÁ °ªÀ̳ª ¿ªÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. \ n ¾Õ¿¡ ÃÖ¼ÒÇÑ n°³ÀÇ Ä¸Ã³µÈ ºÎºÐ½ÄÀÌ ³ª¿Ô´Ù¸é n Àº ¿ªÂüÁ¶ÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì n ÀÌ 0¿¡¼ 7 »çÀÌÀÇ 8Áø¼öÀ̸é n Àº 8Áø¼ö À̽ºÄÉÀÌÇÁ °ªÀÔ´Ï´Ù. \ nm 8Áø¼ö À̽ºÄÉÀÌÇÁ °ªÀ̳ª ¿ªÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. \ nm ¾Õ¿¡ ÃÖ¼ÒÇÑ nm°³ÀÇ Ä¸Ã³µÈ ºÎºÐ½ÄÀÌ ³ª¿Ô´Ù¸é nm Àº ¿ªÂüÁ¶ÀÔ´Ï´Ù. \ nm ¾Õ¿¡ ÃÖ¼ÒÇÑ n°³ÀÇ Ä¸Ã³°¡ ³ª¿Ô´Ù¸é n Àº ¿ªÂüÁ¶ÀÌ°í µÚ¿¡´Â ¸®ÅÍ·² mÀÌ ¿É´Ï´Ù. ÀÌ µÎ °æ¿ì°¡ ¾Æ´Ò ¶§ n°ú mÀÌ 0¿¡¼ 7 »çÀÌÀÇ 8Áø¼öÀ̸é \ nm Àº 8Áø¼ö À̽ºÄÉÀÌÇÁ °ª nmÀ» ã½À´Ï´Ù. \ nml n ÀÌ 0¿¡¼ 3 »çÀÌÀÇ 8Áø¼öÀÌ°í m °ú l ÀÌ 0¿¡¼ 7 »çÀÌÀÇ 8Áø¼ö¸é 8Áø¼ö À̽ºÄÉÀÌÇÁ °ª nml À» ã½À´Ï´Ù. \u n n Àº 4 ÀÚ¸®ÀÇ 16Áø¼ö·Î Ç¥ÇöµÈ À¯´ÏÄÚµå ¹®ÀÚÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, \u00A9´Â ÀúÀÛ±Ç ±âÈ£(¨Ï)¸¦ ã½À´Ï´Ù.
-------------------------------------------------------------------------------- Visual Basic Scripting Edition¿¡¼ Á¤±Ô Ç¥Çö½Ä ±â´É ÀÌ¿ëÇϱâ --------------------------------------------------------------------------------
Á¤±Ô Ç¥Çö½ÄÀ̶õ ¹«¾ùÀΰ¡¿ä? Á¤±Ô Ç¥Çö½ÄÀ̶õ ¹«¾ùÀϱî¿ä? Á¤±Ô Ç¥Çö½ÄÀº º¹ÀâÇÑ ÆÐÅÏ ¸ÅĪ ±â´É°ú ÅؽºÆ®Çü °Ë»ö-´ëü ¾Ë°í¸®ÁòÀ» °³¹ßÇÒ ¼ö ÀÖ´Â ÅøÀ» Á¦°øÇÕ´Ï´Ù. Perl, egrep, awk, ¶Ç´Â sed °³¹ßÀÚ¿¡°Ô Á¤±Ô Ç¥Çö½ÄÀÌ ¹«¾ùÀÌ³Ä°í ¹°¾îº¸¸é, Á¤±Ô Ç¥Çö½ÄÀº ÅؽºÆ®¿Í µ¥ÀÌÅ͸¦ Á¶ÀÛÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â °¡Àå °·ÂÇÑ À¯Æ¿¸®Æ¼¶ó°í ´ë´äÇÒ °ÍÀÔ´Ï´Ù. °³¹ßÀÚ´Â ÆÐÅÏÀ» ¸¸µé¾î ƯÁ¤ ¹®ÀÚ¿À» ¸ÅÄ¡Å°½ÃÅ´À¸·Î½á µ¥ÀÌÅ͸¦ °Ë»öÇϰųª ÃßÃâÇϰųª ±³Ã¼ÇÏ´Â ÀÏÀ» ¿Ïº®ÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. °£´ÜÈ÷ ¸»Çؼ, Á¤±Ô Ç¥Çö½ÄÀ» Á¤º¹ÇÏ¸é µ¥ÀÌÅ͵µ Á¤º¹ÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.
¿©±â¼´Â, VBScript Á¤±Ô Ç¥Çö½Ä°ú °ü·ÃµÈ ¸ðµç °³Ã¼¸¦ ¼³¸íÇÏ°í, ÀϹÝÀûÀÎ Á¤±Ô Ç¥Çö½Ä ÆÐÅÏÀ» °£·«ÇÏ°Ô »ìÆ캸°í, ½ÇÁ¦ ÄÚµå·Î Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ´Â ¿¹¸¦ µé¾îº¸µµ·Ï ÇսôÙ.
VBScript RegExp °³Ã¼ VBScript 5.0 ¹öÀüÀº Á¤±Ô Ç¥Çö½ÄÀ» ÇϳªÀÇ °³Ã¼·Î¼ Á¦°øÇÕ´Ï´Ù. VBScript RegExp °³Ã¼´Â ¼³°è ¸é¿¡¼ JScriptÀÇ RegExp ¹× String °³Ã¼¿Í ºñ½ÁÇÏ°í, ±¸¹® ¸é¿¡¼´Â Visual Basic°ú ÀÏÄ¡ÇÕ´Ï´Ù. ¸ÕÀú, VBScipt RegExp °³Ã¼ÀÇ ¼Ó¼º°ú ¸Þ¼Òµå¿¡ °üÇØ ¾Ë¾Æº¾½Ã´Ù. VBScript RegExp °³Ã¼´Â »ç¿ëÀÚ¿¡°Ô ¼¼ °³ÀÇ ¼Ó¼º°ú ¼¼ °³ÀÇ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù.
¼Ó¼º ¸Þ¼Òµå Pattern Test(°Ë»ö-¹®ÀÚ¿) IgnoreCase Replace (°Ë»ö-¹®ÀÚ¿, ´ëü-¹®ÀÚ¿) Global Execute (°Ë»ö-¹®ÀÚ¿
Pattern - Á¤±Ô Ç¥Çö½ÄÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÇ´Â ¹®ÀÚ¿. ÀÌ ¼Ó¼ºÀº Á¤±Ô Ç¥Çö½Ä °³Ã¼¸¦ »ç¿ëÇϱâ Àü¿¡ ¸ÕÀú ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. Pattern¿¡ °üÇÑ ³»¿ëÀº ¾Æ·¡¿¡ ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù. IgnoreCase - ¹®ÀÚ¿ ¾È¿¡¼ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ°¡ ¹ß»ýÇÒ ¸ðµç °¡´É¼º¿¡ ´ëÇØ Á¤±Ô Ç¥Çö½ÄÀ» Å×½ºÆ®ÇØ¾ß ÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â ºÎ¿ï ³í¸® ¼Ó¼ºÀÔ´Ï´Ù. IgnoreCaseÀÇ ±âº» ¼³Á¤ °ªÀº FalseÀÔ´Ï´Ù. Global - ¹®ÀÚ¿ ¾È¿¡¼ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ°¡ ¹ß»ýÇÒ ¸ðµç °¡´É¼º¿¡ ´ëÇØ Á¤±Ô Ç¥Çö½ÄÀ» Å×½ºÆ®ÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ ³ªÅ¸³»´Â Àбâ Àü¿ë ºÎ¿ï ³í¸® ¼Ó¼ºÀÔ´Ï´Ù. GlobalÀÇ ±âº» ¼³Á¤ °ªÀº FalseÀÔ´Ï´Ù. Test (¹®ÀÚ¿) - Test ¸Þ¼Òµå´Â ¹®ÀÚ¿À» ¸Å°³ º¯¼ö·Î ¹Þ¾Æ ±× ¹®ÀÚ¿ÀÌ Á¤±Ô Ç¥Çö½Ä¿¡ ÀÏÄ¡Çϸé True¸¦ ¹ÝȯÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é False¸¦ ¹ÝȯÇÕ´Ï´Ù. Replace (°Ë»ö-¹®ÀÚ¿, ´ëü-¹®ÀÚ¿) - Replace ¸Þ¼Òµå´Â µÎ °³ÀÇ ¹®ÀÚ¿À» ¸Å°³ º¯¼ö·Î ¹Þ½À´Ï´Ù. °Ë»ö-¹®ÀÚ¿ ¾È¿¡ Á¤±Ô Ç¥Çö½Ä°ú ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿ÀÌ ÀÖÀ¸¸é, ±× ¹®ÀÚ¿À» ´ëü-¹®ÀÚ¿·Î ¹Ù²Ù°í, ¹Ù²ï »õ·Î¿î ¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù. ¸¸ÀÏ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿ÀÌ ¾øÀ¸¸é, ¿ø·¡ÀÇ °Ë»ö-¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù. Execute (°Ë»ö-¹®ÀÚ¿) - Execute ¸Þ¼Òµå´Â Matches Ä÷º¼Ç °³Ã¼¸¦ ¹ÝȯÇÏ´Â Á¡¸¸ Á¦¿ÜÇϸé Replace ¸Þ¼ÒµåÀÇ ÀÛµ¿°ú ºñ½ÁÇÕ´Ï´Ù. Matches Ä÷º¼Ç °³Ã¼¿¡´Â Á¤±Ô Ç¥Çö½Ä¿¡ ÀÏÄ¡ÇÏ´Â °¢ ¹®ÀÚ¿¿¡ ´ëÇÑ Match °³Ã¼°¡ µé¾î ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ¿ø·¡ÀÇ ¹®ÀÚ¿À» º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ë°ú ¿¹Á¦ ÄÚµå´Â,Microsoft Scripting Site »çÀÌÆ®¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
VBScript Matches Ä÷º¼Ç °³Ã¼ ¾Õ¿¡¼ ¸»ÇßµíÀÌ, Matches Ä÷º¼Ç °³Ã¼´Â Execute ¸Þ¼Òµå¸¦ ½ÇÇàÇÑ °æ¿ì¿¡¸¸ ¹ÝȯµË´Ï´Ù. ÀÌ Ä÷º¼Ç °³Ã¼´Â 0°³ ÀÌ»óÀÇ Match °³Ã¼¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ °³Ã¼ÀÇ ¼Ó¼ºÀº Àбâ Àü¿ëÀÔ´Ï´Ù.
¼Ó¼º Count Item
Count -Ä÷º¼Ç ¾È¿¡ ÀÖ´Â Match °³Ã¼ÀÇ °³¼ö¸¦ ³ªÅ¸³»´Â Àбâ Àü¿ë °ªÀÔ´Ï´Ù. Item - Matches Ä÷º¼Ç °³Ã¼¿¡¼ Match °³Ã¼¸¦ ÀÓÀÇ·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ°Ô ¸¸µå´Â Àбâ Àü¿ë °ªÀÔ´Ï´Ù. For-Next ·çÇÁ¸¦ »ç¿ëÇϸé, Matches Ä÷º¼Ç °³Ã¼¿¡¼ Match °³Ã¼¸¦ ¼ø¼´ë·Î ¾×¼¼½ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ë°ú ¿¹Á¦ ÄÚµå´Â, Microsoft Scripting Site ¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
VBScript Match °³Ã¼ °¢ Mathes °³Ã¼¿¡´Â 0°³ ÀÌ»óÀÇ Match °³Ã¼°¡ µé¾î ÀÖ½À´Ï´Ù. ÀÌ Match °³Ã¼µéÀº Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇßÀ» ¶§ ¼º°øÀûÀ¸·Î ÀÏÄ¡ÇÑ ¹®ÀÚ¿À» ³ªÅ¸³À´Ï´Ù. ÀÌ °³Ã¼ÀÇ ¼Ó¼ºÀº Àбâ Àü¿ëÀ̸ç ÀÏÄ¡ÇÏ´Â °¢ ¹®ÀÚ¿¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÕ´Ï´Ù.
¼Ó¼º FirstIndex Length Value
FirstIndex - ¿ø·¡ ¹®ÀÚ¿ ¾È¿¡¼ Á¤±Ô Ç¥Çö½Ä¿¡ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿ÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â Àбâ Àü¿ë °ªÀÔ´Ï´Ù. ÀÌ »öÀÎÀº À§Ä¡¸¦ ±â·ÏÇϴµ¥ 0 ±âÁØ ¿ÀÇÁ¼Â(¹®ÀåÀÇ Ã¹ À§Ä¡°¡ 0¹ø°ÀÓÀ» ¶æÇÔ)À» »ç¿ëÇÕ´Ï´Ù. Length - ÀÏÄ¡µÈ ¹®ÀÚ¿ÀÇ Àüü ±æÀ̸¦ ³ªÅ¸³»´Â Àбâ Àü¿ë °ªÀÔ´Ï´Ù Value - ÀÏÄ¡µÈ °ªÀ̳ª ÅؽºÆ®¸¦ ³ªÅ¸³»´Â Àбâ Àü¿ë °ªÀÔ´Ï´Ù. ÀÌ °ªÀºMatch °³Ã¼¸¦ ¾×¼¼½ºÇÒ ¶§ »ç¿ëµÇ´Â ±âº» °ªÀ̱⵵ ÇÕ´Ï´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ë°ú ¿¹Á¦ ÄÚµå´Â, Microsoft Scripting Site ¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
ÆÐÅÏÀº ¾î¶² ÇüÅÂÀΰ¡? ÀÚ, Áö±Ý±îÁö´Â ÀÌ ¸ðµç °ÍÀÌ Áö³ªÄ¡°Ô ÈǸ¢ÇÏ°í ȯ»óÀûÀÎ °ÍÀ¸·Î ´À²¸Áö¼Ì°ÚÁö¸¸ ½ÇÁ¦´Â ¾î¶³±î¿ä? Á¤±Ô Ç¥Çö½ÄÀº ±× ÀÚü°¡ ÇϳªÀÇ ¾ð¾î¶ó°í ÇÒ ¼ö ÀÖÁö¸¸, Perl¿¡ Àͼ÷ÇÑ »ç¿ëÀÚµéÀ̶ó¸é ´©±¸³ª ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. VBScript´Â Perl·ÎºÎÅÍ ÆÐÅÏ ¼ÂÀ» À¯µµÇϱ⠶§¹®¿¡, ÁÖ¿ä ±â´Éµµ Perl°ú ºñ½ÁÇÕ´Ï´Ù. ±×·¯¸é, Á¤±Ô Ç¥Çö½ÄÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÇ´Â ÆÐÅÏ ¼Â ¸î °¡Áö¸¦ »ìÆ캸µµ·Ï ÇսôÙ. ÆÐÅÏ ¼ÂÀº ¿©·¯ ¹üÁÖ¿Í ¿µ¿ªÀ¸·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
Æ÷Áö¼Ç ¸ÅĪ
Æ÷Áö¼Ç ¸ÅĪÀº ^¿Í $(À»)¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ¿ÀÇ ½ÃÀÛÀ̳ª ³¡À» °Ë»öÇÕ´Ï´Ù. ÆÐÅÏ ¼Ó¼ºÀ» "^VBScript"·Î ¼³Á¤ÇÒ °æ¿ì, "VBScript is cool."¿¡´Â ÀÏÄ¡ÇÏÁö¸¸, "I like VBScript."¿¡´Â ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.
±âÈ£ ±â´É ^ ¹®ÀÚ¿ÀÇ ½ÃÀÛ¸¸ ºñ±³ÇÕ´Ï´Ù
"^A"´Â "An A+ for Anita."ÀÇ Ã¹¹ø° "A"¸¦ ºñ±³ÇÕ´Ï´Ù. $ ¹®ÀÚ¿ÀÇ ³¡À» ºñ±³ÇÕ´Ï´Ù.
"t$"´Â "A cat in the hat"ÀÇ ¸¶Áö¸· "t"¸¦ ºñ±³ÇÕ´Ï´Ù. \b ÀÓÀÇÀÇ ¿öµå ¿µ¿ªÀ» ºñ±³ÇÕ´Ï´Ù
"ly\B"´Â "possibly tomorrow."ÀÇ "ly"¸¦ ºñ±³ÇÕ´Ï´Ù \B Matches any non-word boundary
¸®ÅÍ·²
¸®ÅÍ·²Àº ¿µ¼ýÀÚ ¹®ÀÚ, ASCII, 8Áø¼ö ¹®ÀÚ, 16Áø¼ö ¹®ÀÚ, UNICODE, ¶Ç´Â Ư¼ö ±¸ºÐ ¹®ÀÚ µîÀ» ¸ðµÎ ÃÑĪÇÏ´Â ¸»ÀÔ´Ï´Ù. Ưº°ÇÑ Àǹ̸¦ °®°í ÀÖ´Â ¸î¸î ¹®ÀÚ´Â ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù. À̵é Ư¼ö ¹®ÀÚ¸¦ ºñ±³ÇÏ·Á¸é, Á¤±Ô Ç¥Çö½ÄÀ» ¹®ÀÚ ¾Õ¿¡ \¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
±âÈ£ ±â´É ¿µ¼ýÀÚ ¿µ¹®ÀÚ¿Í ¼ýÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. \n »õ·Î¿î ¶óÀÎÀ» ºñ±³ÇÕ´Ï´Ù \f ¿ëÁö °ø±ÞÀ» ºñ±³ÇÕ´Ï´Ù \r ij¸®Áö ¸®ÅÏÀ» ºñ±³ÇÕ´Ï´Ù. \t °¡·Î ÅÇÀ» ºñ±³ÇÕ´Ï´Ù. \v ¼öÆò ÅÇÀ» ºñ±³ÇÕ´Ï´Ù. \? ?(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \* *(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \+ +(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \. . (À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \| |(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \{ {(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \} }(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \\ \(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \[ [(À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \] ] (À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \( ((À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \) ) (À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \xxx 8Áø¼ö xxx·Î Ç¥½ÃµÈ ASCII ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù.
"\50"Àº "(" ¶Ç´Â chr (40) (À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \xdd 16Áø¼ö dd·Î Ç¥½ÃµÈ ASCII ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù.
"\x28"Àº "(" ¶Ç´Â chr (40) (À»)¸¦ ºñ±³ÇÕ´Ï´Ù. \uxxxx UNICODE xxxx·Î Ç¥½ÃµÈ ASCII ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù.
"\u00A3"Àº "¡Ì"¸¦ ºñ±³ÇÕ´Ï´Ù.
¹®ÀÚ Å¬·¡½º
¹®ÀÚ Å¬·¡½º¸¦ »ç¿ëÇÏ¸é °ýÈ£ [] ¾È¿¡ ½ÄÀ» »ðÀÔÇÏ¿© »ç¿ëÀÚ¿¡ ÀÇÇØ Á¤ÀÇµÈ ±×·ìÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¹®ÀÚ Å¬·¡½ºÀÇ ¹®ÀÚµéÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö ¹®ÀÚµéÀ» »ç¿ëÇÏ·Á¸é [] ¾È¿¡ ^(À»)¸¦ ù¹ø° ¹®ÀÚ·Î »ðÀÔÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ, ¹®ÀÚÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§´Â ´ë½Ã¸¦ »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Á¤±Ô Ç¥Çö½Ä "[^a-zA-Z0-9]"(Àº)´Â ¿µ¹®ÀÚ¿Í ¼ýÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµç ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. Ãß°¡·Î ±¸ºÐ ¹®ÀÚ¿Í ¸®ÅÍ·²·Î ¹ÀÎ ¹®Àڼµµ ÀÖ½À´Ï´Ù.
±âÈ£ ±â´É [xyz] ¹®Àڼ ¾È¿¡ Æ÷ÇԵǾî ÀÖ´Â ÀÓÀÇÀÇ ÇÑ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù.
"[a-e]" (Àº)´Â "basketball" ¾ÈÀÇ "b"¸¦ ºñ±³ÇÕ´Ï´Ù. [^xyz] ¹®ÀÚ ¼Â ¾È¿¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀº ÀÓÀÇÀÇ ÇÑ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù.
"[^a-e]"´Â "basketball" ¾ÈÀÇ "s"¸¦ ºñ±³ÇÕ´Ï´Ù. . \nÀ» Á¦¿ÜÇÑ ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. \w ÀÓÀÇÀÇ ¿öµå ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [a- zA-Z_0-9]¿Í µ¿ÀÏÇÔ. \W ¿öµå ¹®ÀÚ¸¦ Á¦¿ÜÇÑ ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [^a-zA-Z_0-9]¿Í µ¿ÀÏÇÔ. \d ÀÓÀÇÀÇ ¼ýÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [0-9]. \D ¼ýÀÚ¸¦ Á¦¿ÜÇÑ ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [^0-9]¿Í µ¿ÀÏÇÔ. \s ÀÓÀÇÀÇ °ø¹é ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [ \t\r\n\v\f]¿Í µ¿ÀÏÇÔ. \S °ø¹é ¹®ÀÚ°¡ ¾Æ´Ñ ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. [^ \t\r\n\v\f]¿Í µ¿ÀÏÇÔ.
¹Ýº¹
¹Ýº¹ ¸ÅĪÀ» »ç¿ëÇϸé Á¤±Ô Ç¥Çö½Ä ¾È¿¡ Àִ ƯÁ¤ Àý¿¡ ´ëÇÑ °Ë»öÀ» ¿©·¯ ¹ø ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ýº¹ ¸ÅĪ¿¡¼´Â ¾î¶² ¿ä¼Ò°¡ Á¤±Ô Ç¥Çö½Ä ¾È¿¡¼ ¸î ¹ø ¹Ýº¹µÉ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±âÈ£ ±â´É {x} {x} Á¤±Ô Ç¥Çö½ÄÀ» x¹ø ºñ±³ÇÕ´Ï´Ù.
"\d{5}"´Â 5°³ÀÇ ¼ýÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. (x,} Á¤±Ô Ç¥Çö½ÄÀ» x¹ø ÀÌ»ó ºñ±³ÇÕ´Ï´Ù.
"\s{2,}"´Â ÃÖ¼ÒÇÑ µÎ °³ÀÇ °ø¹é ¹®ÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù {x,y} Á¤±Ô Ç¥Çö½ÄÀ» xºÎÅÍ y¹ø±îÁö ºñ±³ÇÕ´Ï´Ù.
"\d{2,3}"´Â 2°³ ÀÌ»ó 3°³ ¹Ì¸¸ÀÇ ¼ýÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. . ? 0¹ø ¶Ç´Â ÇÑ ¹ø ºñ±³ÇÕ´Ï´Ù. {0,1}¿Í µ¿ÀÏÇÔ.
"a\s?b"´Â "ab" ¶Ç´Â "a b"¸¦ ºñ±³ÇÕ´Ï´Ù. * 0¹ø ÀÌ»ó ºñ±³ÇÕ´Ï´Ù. {0,}¿Í µ¿ÀÏÇÔ. + Çѹø ÀÌ»ó ºñ±³ÇÕ´Ï´Ù.{1,}°ú µ¿ÀÏÇÔ.
±³Ã¼¿Í ±×·ìÇÎ
±³Ã¼¿Í ±×·ìÇÎÀº º¸´Ù º¹ÀâÇÑ Á¤±Ô Ç¥Çö½ÄÀ» ¸¸µé ¶§ »ç¿ëÇÕ´Ï´Ù. ±³Ã¼¿Í ±×·ìÇÎ ±â¼úÀº Á¤±Ô Ç¥Çö½Ä ¾È¿¡ º¹ÀâÇÑ ÀýÀ» ¸¸µé°í, º¸´Ù ¸¹Àº À¶Å뼺°ú Á¦¾î ´É·ÂÀ» Á¦°øÇÕ´Ï´Ù.
±âÈ£ ±â´É () ÀýÀ» ±×·ìÇÎÇÏ¿© ÀýÀ» ¸¸µì´Ï´Ù. ÁßøÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
"(ab)?(c)"´Â "abc" ¶Ç´Â "c"¸¦ ºñ±³ÇÕ´Ï´Ù. | ±³Ã¼´Â ¿©·¯ ÀýÀ» ÇϳªÀÇ Á¤±Ô Ç¥Çö½ÄÀ¸·Î Á¶ÇÕÇÑ ´ÙÀ½ °³º°ÀûÀÎ ÀýÀ» ºñ±³ÇÕ´Ï´Ù.
"(ab)|(cd)|(ef)"´Â "ab" ¶Ç´Â "cd" ¶Ç´Â "ef"¸¦ ºñ±³ÇÕ´Ï´Ù.
¿ª¹æÇâ ÂüÁ¶
ÇÁ·Î±×·¡¸Ó´Â ¿ª¹æÇâ ÂüÁ¶¸¦ ÅëÇØ Á¤±Ô Ç¥Çö½ÄÀÇ ÀϺθ¦ ´Ù½Ã ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¹æ¹ýÀº °ýÈ£¿Í ¹é½½·¹½Ã(\) µÚ¿¡ ÇÑ °³ÀÇ ¼ýÀÚ¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ù ¹ø° °ýÈ£ ÀýÀº \1·Î ÂüÁ¶µÇ°í µÎ ¹ø° °ýÈ£ ÀýÀº \2·Î ÂüÁ¶µÇ´Â ½ÄÀÔ´Ï´Ù.
±âÈ£ ±â´É ()\n ¿ÞÂÊ °ýÈ£¿¡ Àִ ǥÇö½ÄÀ» n¹ø ¹Ýº¹Çؼ ¹®ÀåÀ» ºñ±³ÇÕ´Ï´Ù.
"(\w+)\s+\1"´Â "hubba hubba" °°ÀÌ, ÇÑ ¿ ¾È¿¡¼ µÎ ¹ø ³ªÅ¸³ª´Â ÀÓÀÇÀÇ ¿öµå¸¦ ºñ±³ÇÕ´Ï´Ù.."
¿¹Á¦·Î È®ÀÎÇϱâ! ÀÌ ¿¹Á¦´Â Áö±Ý±îÁö ¼³¸íÇÑ °ÍÀ» Àû¿ëÇÑ °ÍÀ¸·Î, Á¤±Ô Ç¥Çö½ÄÀ» ÀÌ¿ëÇÏ¿© À¯È¿ÇÑ ÀÔ·Â °ªÀÌ ÀԷµǾî ÀÖ´ÂÁö °Ë»çÇÏ´Â °£´ÜÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ÀÔ´Ï´Ù. »ç¿ëÀÚ°¡ À¯È¿ÇÑ °ªÀ» ÀÔ·ÂÇÒ ¶§±îÁö »ç¿ëÀÚ¿¡°Ô ÀÔ·ÂÀ» ¿ä±¸ÇÏ´Â ÇÁ·ÒÇÁÆ®°¡ ¹Ýº¹ÀûÀ¸·Î ³ªÅ¸³³´Ï´Ù. ¸ÕÀú Ãʱâ ÆÐÅÏÀ» ÀÚ¼¼È÷ ¼³¸íÇÏ°Ú½À´Ï´Ù.
"^\s*((\$\s?)|(¡Ì\s?))?((\d+(\.(\d\d)?)?)|(\.\d\d))\s*(UK|GBP|GB|USA|US|USD)?)\s*$"
"^\s*¡¦" ¿Í "¡¦\s*$" - ¾Õ°ú µÚ¿¡ ¸î °³ÀÇ °ø¹é ¹®ÀÚµçÁö ¿Ã ¼ö ÀÖÀ½À» ³ªÅ¸³»¸ç, ÀÔ·ÂÀº ¹Ýµå½Ã ¶óÀÎ ÀÚü À§¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. "((\$\s?)|(?\s?))?" - ¿É¼Ç °ø¹é ¾Õ¿¡ ¿À´Â ¿É¼Ç $ ¶Ç´Â ¡Ì ±âÈ£¸¦ ³ªÅ¸³À´Ï´Ù.. "((\d+(\.(\d\d)?)?)|(\.\d\d))" - »ý·« °¡´ÉÇÑ ½ÊÁø¼ö ¼Ò¼öÁ¡ 2ÀÚ¸® ¶Ç´Â ½ÊÁø¼ö ¼Ò¼öÁ¡ 2 ÀÚ¸®¼ö ¾Õ¿¡ ¿À´Â ÇÑ ÀÚ¸® ÀÌ»óÀÇ ¼ýÀÚ¸¦ ã½À´Ï´Ù. ÀÌ ¸»Àº 6., 23.33, .88¿Í °°Àº ¼ýÀÚ´Â »ç¿ë °¡´ÉÇϳª 5.5´Â »ç¿ëÇÒ ¼ö ¾øÀ½À» ÀǹÌÇÕ´Ï´Ù. "\s*(UK|GBP|GB|USA|US|USD)?" - ¹®ÀÚ¿¿¡ ´ëÇÏ¿© »ý·« ¹× »ç¿ëÀÌ °¡´ÉÇÏ°í Àμö ¾Õ¿¡¼ À¯È¿ÇÑ °ø¹é ¹®ÀÚÀÇ ¼ö¸¦ ÀǹÌÇÕ´Ï´Ù. º» ¿¹Á¦ÀÇ °æ¿ì, Á¤±Ô Ç¥Çö½ÄÀº »ç¿ëÀÚÀÇ US ´Þ·¯ ¶Ç´Â ¿µ±¹ ÆÄ¿îµå ÀÔ·Â ¿©ºÎ¸¦ °áÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÇÊÀÚ´Â ¡Ì, UK, GBP, ¶Ç´Â GB ¹®ÀÚ¿À» °Ë»öÇÏ°í ÀÖ½À´Ï´Ù. Á¤±Ô Ç¥Çö½Ä °á°ú°¡ ÂüÀÌ¸é »ç¿ëÀÚ´Â ¿µ±¹ ÆÄ¿îµå ´ÜÀ§ÀÇ ¾×¼ö¸¦ ÀÔ·ÂÇÑ °ÍÀ̶ó°í º¸¸é µË´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é USD Åëȸ¦ »ç¿ëÇÑ °ÍÀÌ°ÚÁö¿ä.
ÀÌ Äڵ带 »ç¿ëÇÏ·Á¸é Äڵ带 CurrencyEx.vbs·Î ÀúÀåÇÏ°í Windows Script Host¸¦ ÀÌ¿ëÇØ Äڵ带 ½ÇÇà½ÃŲ ´ÙÀ½ VB¿¡ º¹»çÇϰųª(ÀÌ °æ¿ì, Microsoft VBScript Á¤±Ô Ç¥Çö½Ä¿¡ ÂüÁ¶¸¦ Ãß°¡ÇÒ ÇÊ¿ä°¡ ÀÖÀ½) HTML ÆÄÀÏ¿¡ Äڵ带 Æ÷ÇÔ½Ãŵ´Ï´Ù.
Sub CurrencyEx Dim inputstr, re, amt Set re = new regexp ''''Create the RegExp object
''''Ask the user for the appropriate information inputstr = inputbox("I will help you convert USA and CAN currency. Please enter the amount to convert:") ''''Check to see if the input string is a valid one. re.Pattern = "^\s*((\$\s?)|(¡Ì\s?))?((\d+(\.(\d\d)?)?)|(\.\d\d))\s*(UK|GBP|GB|USA|US|USD)?)\s*$" re.IgnoreCase = true do while re.Test(inputstr) <> true ''''Prompt for another input if inputstr is not valid inputstr = inputbox("I will help you convert USA and GBP currency. Please enter the amount to(USD or GBP):")
loop ''''Determine if we are going from GBP->US or USA->GBP re.Pattern = "¡Ì|UK|GBP|GB" if re.Test(inputstr) then ''''The user wants to go from GBP->USD re.Pattern = "[a-z$¡Ì ]" re.Global = True amt = re.Replace(inputstr, "") amt = amt * 1.6368 amt = cdbl(cint(amt * 100) / 100) amt = "$" & amt else ''''The user wants to go from USD->GBP
re.Pattern = "[a-z$¡Ì ]" re.Global = True amt = re.Replace(inputstr, "") amt = amt * 0.609 amt = cdbl(cint(amt * 100) / 100) amt = "¡Ì" & amt end if
msgbox ("Your amount of: " & vbTab & inputstr & vbCrLf & "is equal to: " & vbTab & amt) End sub
´õ¿í °·ÂÇÑ ÆÄ¿ö¸¦! Visual Basic °³¹ßÀÚµéÀÌ Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï VBScript Á¤±Ô Ç¥Çö½Ä ¿£ÁøÀº COM °³Ã¼·Î ±¸ÇöµÇ¾î ¿Ô½À´Ï´Ù. ÀÌ °æ¿ì, Á¤±Ô Ç¥Çö½ÄÀº º¸´Ù °·ÂÇÑ ÈûÀ» ¹ßÈÖÇÏ°Ô µÇ´Âµ¥ Áï, Visual Basic ¶Ç´Â C¿Í °°Àº VBScript ¿ÜÀÇ ´Ù¾çÇÑ ¼Ò½º·ÎºÎÅÍ È£ÃâÀÌ °¡´ÉÇϱ⠶§¹®ÀÔ´Ï´Ù. ¿¹ÄÁ´ë, ÇÊÀÚ´Â Outlook(R) 97, Outlook 98 ¶Ç´Â Outlook 2000ÀÇ Á¢¼Ó ¸ñ·ÏÀ» ÅëÇØ ³»¿ëÀ» ÃßÀûÇÏ°í ƯÁ¤ µµ½Ã¿¡ »ç´Â Á¢¼ÓÀÚ À̸§À» ¹ÝȯÇÏ´Â ÀÛÀº Visual Basic ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µç °æÇèÀÌ ÀÖ½À´Ï´Ù.
ÀÌ ÇÁ·Î±×·¥Àº ¸Å¿ì °£´ÜÇÕ´Ï´Ù. ¸ÕÀú »ç¿ëÀÚ´Â °Ë»öÇÒ ´ë»ó µµ½Ã¸íÀ» ÀÔ·ÂÇÏ°í, ±¸ºÐ Ç¥½Ã¿¡´Â ½°Ç¥¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·± ´ÙÀ½, Outlook¿¡ ÀÛ¼ºÇÒ »õ Á¢¼Ó Æú´õÀÇ À̸§À» ÀÔ·ÂÇÕ´Ï´Ù. °¢ Á¢¼ÓÀÌ ÀÏÄ¡Çϸé ÀÌ ³»¿ëÀº »õ·Î ÀÛ¼ºµÈ Á¢¼Ó Æú´õ¿¡ º¹»çµË´Ï´Ù.
Microsoft VBScript Á¤±Ô Ç¥Çö½Ä °³Ã¼ ¶óÀ̺귯¸®¿¡ ÂüÁ¶¸¦ Ãß°¡ÇÒ °æ¿ì ¸î °¡Áö À¯¿ëÇÑ Á¶±â ¹ÙÀεù ±â´É(early binding)À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Á¶±â ¹ÙÀεù °³Ã¼´Â ¸î °¡Áö ÀÌÁ¡À» Á¦°øÇϴµ¥ Áï, ¼Óµµ°¡ ºü¸£°í ÄÚµù ÇÁ·Î±×·¥ »ç¿ëÀÌ °£ÆíÇÏ´Ù´Â Á¡ÀÔ´Ï´Ù. "new RegExp"°¡ Áï½Ã »ç¿ëµÇ¹Ç·Î »ç¿ëÀÚ´Â °³Ã¼¿¡ ÂüÁ¶¸¦ Ãß°¡ÇÏ°í VBScriptÄڵ带 ¿À·Á³»¾î VB¿¡ ±×´ë·Î ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ ÀÌÀ¯·Î ÇÊÀÚ ¶ÇÇÑ Á¤±Ô Ç¥Çö½Ä°ú µ¿ÀÏÇÑ ¹æ¹ýÀ» »ç¿ëÇÏ¿© Outlook 9.0 °³Ã¼ ¶óÀ̺귯¸®¸¦ ÂüÁ¶ÇÑ ÀûÀÌ ÀÖ½À´Ï´Ù. ¹°·Ð, ¿©·¯ºÐÀº ¿©ÀüÈ÷ CreateObject() (À»)¸¦ »ç¿ëÇÏ¿© COM È£ÃâÀ» »ý¼º½Ãų ¼öµµ ÀÖÀ¸³ª »ó±â ¹æ¹ýÀ» ´õ °£ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ °³Ã¼µéÀ» ÀÛ¼ºÇÑ ÈÄ °£´ÜÇÑ Äڵ带 »ç¿ëÇÏ¿© µµ½Ã¸í°ú ÀÏÄ¡ÇÏ´Â Æú´õ¿Í Æ®¸®¸¦ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. º»ÀÎÀº 2°³ÀÇ ¸ðÀ½ °³Ã¼¸¦ °¡Áö´Â ÀÛÀº µµ¿ò ÇÔ¼ö compareCollectionObjects(x,y)(À»)¸¦ »ç¿ë/ºñ±³ÇÏ¿© ÀÏÄ¡ ¿©ºÎ¸¦ È®ÀÎÇÕ´Ï´Ù.
ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇÏ·Á¸é ´Ü¼øÈ÷ Äڵ带 VB(ÂüÁ¶ Ãß°¡¿¡ ÇÊ¿äÇÔ)¿¡ º¹»çÇÑ ´ÙÀ½ FindCityContacts() ÇÔ¼ö¸¦ È£ÃâÇÏ¸é µË´Ï´Ù. .
Sub FindCityContacts()
Dim strTemp Dim index Dim citySearch Dim myNameSpace, myContacts, newCityContacts, newCityContactsName Dim contact Dim newContact
''''Set the early binding objects Dim re as New RegExp Dim myApp as New Outlook.Application
re.Global = True re.IgnoreCase = True
citySearch = InputBox("Please enter the cities of your search, separated by commas.") newCityContactsName = InputBox("Please enter the new contact folder name")
''''Set some of the objects and create the new Contacts folder Set myNameSpace = myApp.GetNamespace("MAPI") ''''olFolderContacts = 10 Set myContacts = myNameSpace.GetDefaultFolder(10) Set newCityContacts = myContacts.Folders.Add(newCityContactsName)
''''Set cities, using regular expressions to contain the city names re.Pattern = "[^,]+" Set cities = re.Execute(citySearch) For Each city In cities
''''Set citytokens to be the individual tokens in the city name ''''Then we compare them to the address tokens in each contact re.Pattern = "[^ ]+" Set citytokens = re.Execute(city)
For i = 1 to myContacts.Items.Count re.Pattern = "[^ ]+" Set contact = myContacts.Items.Item(i)
Set HomeAddressCityTokens = re.Execute(contact.HomeAddressCity) If compareCollectionObjects(HomeAddressCityTokens, citytokens) = 1 Then
Set newContact = contact.Copy newContact.Move newCityContacts End If
Set OtherAddressCityTokens = re.Execute(contact.OtherAddressCity) If compareCollectionObjects(OtherAddressCityTokens, citytokens) = 1 Then Set newContact = contact.Copy newContact.Move newCityContacts End If
Set BusinessAddressCityTokens = re.Execute(contact.BusinessAddressCity) If compareCollectionObjects(BusinessAddressCityTokens, citytokens) = 1 Then Set newContact = contact.Copy newContact.Move newCityContacts End If Next Next
MsgBox "done"
End Sub
''''This function is provided as a helper-function '''' to compare two collection objects. Function compareCollectionObjects(x, y)
Dim index Dim flag flag = 1
If x.Count <> y.Count Then flag = 0 Else index = x.Count
For i = 0 To (index - 1) If StrComp(x.Item(i), y.Item(i), 1) Then flag = 0 End If Next End If
compareCollectionObjects = flag
End Function
|