|
 |
13³â Àü |
•Á¤±Ô½ÄÀº º¹ÀâÇÑ ÆÐÅϸÅĪ°ú ´ëÄ¡ ±ÔÄ¢À» Á¤ÀÇÇÏ´Â ¹®ÀÚ¿ÀÌ´Ù.
•Á¤±Ô½ÄÀº ÆÄÀÏÀ̳ª ¹®ÀÚ¿ ³»¿¡ Æ÷ÇԵǾî Àִ Ưº°ÇÑ ÆÐÅÏ(¶Ç´Â Ưº°ÇÑ Á¶°ÇÀ» ¸¸Á·ÇÏ´Â ¹®ÀÚ¿)À» °Ë»öÇϱâ À§ÇØ ¹Ì¸® Á¤ÀÇµÈ ´Ù¾çÇÑ Æ¯¼ö ¹®ÀÚµéÀÇ Á¶ÇÕÀÌ´Ù.
•Á¤±Ô½ÄÀº ´Ï¸ð´Ð(mnemonic)°ªÀ¸·Î °£·«ÇÏ°Ô Ç¥ÇöµÇ´Â ±âÈ£·Î ¸¸µé¾îÁø´Ù. ¿¹¸¦ µé¸é, ´ÜÀÏ ¹®ÀÚ¿ .Àº "ÀÓÀÇÀÇ ´ÜÀÏ ¹®ÀÚ¿°ú ¸ÅÄ¡µÈ´Ù."´Â ÀǹÌÀÌ°í, ¹®ÀÚ +´Â "Çϳª¶Ç´Â ±×ÀÌ»óÀÇ ¾Õ¼±½Ä"À̶ó´Â ÀǹÌÀÌ´Ù.
Á¤±Ô½ÄÀ» Á¤È®È÷ Á¤ÀÇÇÏ·Á¸é, automata, regular language, finite state machine µîÀ» ¼³¸íÇØ¾ß ÇÕ´Ï´Ù. ±×³É ÀϹÝÀûÀ¸·Î´Â ÆÐÅϸÅĪÀ» À§ÇÑ ¾ð¾î¶ó°í ³Ñ¾î°¥ ¼ö ÀÖÁö¸¸, Á¤±Ô½ÄÀ¸·Î matchingÇÒ ¼ö ¾ø´Â ÆÐÅϵµ ¸¹°í, ¿Ö Á¤±Ô½Ä¿¡ ÀÌ·± ¿¬»êÀÚ°¡ ¾øÀ»±î °í¹ÎÇϱ⠽ÃÀÛÇϸé, ¸ðµç °ÍÀÌ ¸ðÈ£ÇØÁ®¹ö¸³´Ï´Ù
^ (caret)
¡¡ ¶óÀÎÀÇ Ã³À½À̳ª ¹®ÀÚ¿ÀÇ Ã³À½À» Ç¥½Ã
¡¡ ^aaa (¹®ÀÚ¿ÀÇ Ã³À½¿¡ aaa¸¦ Æ÷ÇÔÇϸé Âü, ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþ)
¡¡
¡¡ $ (dollar)
¡¡ ¶óÀÎÀÇ ³¡À̳ª ¹®ÀÚ¿ÀÇ ³¡À» Ç¥½Ã
¡¡ aaa$ (¹®ÀÚ¿ÀÇ ³¡¿¡ aaa¸¦ Æ÷ÇÔÇϸé Âü, ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþ)
¡¡
¡¡ . (period)
¡¡ ÀÓÀÇÀÇ ÇÑ ¹®ÀÚ¸¦ Ç¥½Ã
¡¡ ^a.c (¹®ÀÚ¿ÀÇ Ã³À½¿¡ abc, adc, aZc µîÀº Âü, aa ´Â °ÅÁþ)
¡¡ ¡¡
¡¡ a..b$ (¹®ÀÚ¿ÀÇ ³¡¿¡ aaab, abbb, azzb µîÀ» Æ÷ÇÔÇϸé Âü)
¡¡
¡¡ [] (bracket)
¡¡ ¹®ÀÚÀÇ ÁýÇÕÀ̳ª ¹üÀ§¸¦ ³ªÅ¸³¿, µÎ ¹®ÀÚ »çÀÌÀÇ "-"´Â ¹üÀ§¸¦ ³ªÅ¸³¿
¡¡ []³»¿¡¼ "^"ÀÌ ¼±ÇàµÇ¸é notÀ» ³ªÅ¸³¿
¡¡
¡¡ {} (brace)
¡¡ {} ³»ÀÇ ¼ýÀÚ´Â Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ ³ªÅ¸³ª´Â Ƚ¼ö ¶Ç´Â ¹üÀ§¸¦ ³ªÅ¸³¿
¡¡ a{3} ('a'ÀÇ 3¹ø ¹Ýº¹ÀÎ aaa¸¸ ÇØ´çµÊ)
¡¡
¡¡ * (asterisk)
¡¡ "*" Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ 0¹ø ¶Ç´Â ¿©·¯¹ø ³ªÅ¸³ª´Â ¹®ÀÚ¿
¡¡ ab*c ('b'¸¦ 0¹ø ¶Ç´Â ¿©·¯¹ø Æ÷ÇÔÇϹǷΠac, ackdddd, abc, abbc, abbbbbbbc µî)
¡¡
¡¡ +
¡¡ "+" Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ 1¹ø ÀÌ»ó ³ªÅ¸³ª´Â ¹®ÀÚ¿
¡¡ ab+c ('b'¸¦ 1¹ø ¶Ç´Â ¿©·¯¹ø Æ÷ÇÔÇϹǷΠabc, abckdddd, abbc, abbbbbbbc µî, ac´Â ¾ÈµÊ)
¡¡
¡¡ ?
¡¡ "?" Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ 0¹ø ¶Ç´Â 1¹ø ³ªÅ¸³ª´Â ¹®ÀÚ¿
¡¡ ab?c ('b'¸¦ 0¹ø ¶Ç´Â 1¹ø Æ÷ÇÔÇϹǷΠabc, abcd ¸¸ ÇØ´çµÊ)
¡¡
¡¡ () (parenthesis)
¡¡ ()´Â Á¤±Ô½Ä³»¿¡¼ ÆÐÅÏÀ» ±×·ìÈ ÇÒ ¶§ »ç¿ë
¡¡ ¡¡
¡¡ | (bar)
¡¡ or¸¦ ³ªÅ¸³¿
¡¡ a|b|c (a, b, c Áß Çϳª, Áï [a-c]¿Í µ¿ÀÏÇÔ)
¡¡
¡¡ (backslash)
¡¡ À§¿¡¼ »ç¿ëµÈ Ư¼ö ¹®ÀÚµéÀ» Á¤±Ô½Ä³»¿¡¼ ¹®ÀÚ·Î Ãë±ÞÇÏ°í ½ÍÀ» ¶§ ''¸¦ ¼±Çà½ÃÄѼ »ç¿ëÇϸéµÊ
¡¡ filename.ext ("filename.ext"¸¦ ³ªÅ¸³¿)
Á¤±Ô½Ä¿¡¼´Â À§¿¡¼ ¾ð±ÞÇÑ Æ¯¼ö ¹®ÀÚ¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö ¹®ÀÚµéÀº ÀÏ¹Ý ¹®ÀÚ·Î Ãë±ÞÇÔ
À§ÀÇ Á¤±Ô½Ä ¿¬»êÀÚ °¡¿îµ¥ vi¿¡¼´Â Áö¿øÇÏÁö ¾Ê´Â ¿¬»êÀÚ°¡ ÀÖ½À´Ï´Ù. viÀÇ °æ¿ì +¿¬»êÀÚµµ ¾ø½À´Ï´Ù. regular expression library¿¡ µû¶ó Áö¿øÇÏ´Â ¿¬»êÀÚÀÇ Á¾·ù°¡ »ó´çÈ÷ ´Ù¸¨´Ï´Ù. ¿äÁòÀº perl-style regular expressionÀÌ Ç¥ÁØÀ¸·Î ÀÚ¸®Àâ¾Æ°¡´Â °ÍÀÌ ´ëüÀûÀÎ Ãß¼¼ÀÌ°í, perlÀÇ regular expressionÀº °¡Àå º¹ÇÕÇÏ°í ±â´ÉÀÌ ¸¹Àº ÆíÀÔ´Ï´Ù.
* [abc] (a, b, c Áß ¾î¶² ¹®ÀÚ, "[a-c]."°ú µ¿ÀÏ)
* [Yy] (Y ¶Ç´Â y)
* [A-Za-z0-9] (¸ðµç ¾ËÆĺª°ú ¼ýÀÚ)
* [-A-Z]. ("-"(hyphen)°ú ¸ðµç ´ë¹®ÀÚ)
* [^a-z] (¼Ò¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ)
* [^0-9] (¼ýÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ)
* [[:digit:]] ([0-9]¿Í µ¿ÀÏ)
* a{3,} ('a'°¡ 3¹ø ÀÌ»ó ¹Ýº¹ÀÎ aaa, aaaa, aaaa, ... µîÀ» ³ªÅ¸³¿)
* a{3,5} (aaa, aaaa, aaaaa ¸¸ ÇØ´çµÊ)
* ab{2,3} (abb¿Í abbb ¸¸ ÇØ´çµÊ)
* [0-9]{2} (µÎ ÀÚ¸® ¼ýÀÚ)
* doc[7-9]{2} (doc77, doc87, doc97 µîÀÌ ÇØ´ç)
* [^Zz]{5} (Z¿Í z¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â 5°³ÀÇ ¹®ÀÚ¿, abcde, ttttt µîÀÌ ÇØ´ç)
* .{3,4}er ('er'¾Õ¿¡ ¼¼ °³ ¶Ç´Â ³× °³ÀÇ ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿À̹ǷΠPeter, mother µîÀÌ ÇØ´ç)
* * (¼±Ç๮ÀÚ°¡ ¾ø´Â °æ¿ìÀ̹ǷΠÀÓÀÇÀÇ ¹®ÀÚ¿ ¹× °ø¹é ¹®ÀÚ¿µµ ÇØ´çµÊ)
* .* (¼±Ç๮ÀÚ°¡ "."À̹ǷΠÇϳª ÀÌ»óÀÇ ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿, °ø¹é ¹®ÀÚ¿Àº ¾ÈµÊ)
* ab* ('b'¸¦ 0¹ø ¶Ç´Â ¿©·¯¹ø Æ÷ÇÔÇϹǷΠa, accc, abb, abbbbbbb µî)
* a* ('a'¸¦ 0¹ø ¶Ç´Â ¿©·¯¹ø Æ÷ÇÔÇϹǷΠk, kdd, sdfrrt, a, aaaa, abb, °ø¹é¹®ÀÚ¿ µî)
* doc[7-9]* (doc7, doc777, doc778989, doc µîÀÌ ÇØ´ç)
* [A-Z].* (´ë¹®Àڷθ¸ ÀÌ·ç¾îÁø ¹®ÀÚ¿)
* like.* (Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ '.'À̹ǷΠlike¿¡ 0 ¶Ç´Â Çϳª ÀÌ»óÀÇ ¹®ÀÚ°¡ Ãß°¡µÈ ¹®ÀÚ¿ÀÌ µÊ, like, likely, liker, likelihood µî)
* ab+ ('b'¸¦ 1¹ø ¶Ç´Â ¿©·¯¹ø Æ÷ÇÔÇϹǷΠab, abccc, abb, abbbbbbb µî)
* like.+ (Á÷ÀüÀÇ ¼±Ç๮ÀÚ°¡ '.'À̹ǷΠlike¿¡ Çϳª ÀÌ»óÀÇ ¹®ÀÚ°¡ Ãß°¡µÈ ¹®ÀÚ¿ÀÌ µÊ, likely, liker, likelihood µî, ±×·¯³ª like´Â ÇØ´ç¾ÈµÊ)
*[A-Z]+ (´ë¹®Àڷθ¸ ÀÌ·ç¾îÁø ¹®ÀÚ¿)
* yes|Yes (yes³ª Yes Áß Çϳª, [yY]es¿Í µ¿ÀÏÇÔ)
* korea|japan|chinese (korea, japan, chinese Áß Çϳª)
* [?[\]] ('?', '[', '', ']' Áß Çϳª)
|
|
̵̧ : 551 |
̵̧
¸ñ·Ï
|
|