|
1.¿ä¾à VC++¿¡¼ Regular ExpressionÀ¸·Î °Ë»öÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. 2.º»¹® Reqular Expression(Á¤±ÔÇ¥Çö½Ä)À» ÀÌ¿ëÇÏ¿© °Ë»öÇÏ¸é ¿©·¯ º¹ÀâÇÑ Á¶°ÇÀ» ÁÖ¾î ¼Ò½ºÄڵ带 °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. VC++¿¡¼µµ UnixÀÇ grepÀ̳ª vi editor¿Í °°ÀÌ Regular ExpressionÀ» ÀÌ¿ëÇÑ °Ë»öÀ» Áö¿øÇÏ´Â µ¥ ¹æ¹ýÀº ¾ÆÁÖ °£´ÜÇÕ´Ï´Ù. ã±â(¶Ç´Â ÆÄÀÏ¿¡¼ ã±â) â¿¡ ÀÖ´Â ¿É¼Ç Áß Regular expression äũÇϰí Á¤±ÔÇ¥Çö½ÄÀ¸·Î ÀûÀº µÚ °Ë»öÇÏ¸é ³¡ÀÔ´Ï´Ù. ³Ê¹« °£´ÜÇÑ °É ÆÁÀ̶ó°í ¾²´Â °Ç ¾Æ´ÑÁö ¸ð¸£°Ú±º¿ä. ¾Æ·¡´Â Á¤±ÔÇ¥Çö½ÄÀ» Á¤¸®ÇØ ³õÀº °ÍÀÔ´Ï´Ù
. : newlineÀ» Á¦¿ÜÇÑ ÀÓÀÇÀÇ ÇѱÛÀÚ
\a : alarm
[a-z0-9]: a-z ±îÁöÀÇ ¿µ¹®ÀÚ¿Í ¼ýÀÚ ÁßÀÇ ÇÑ ±ÛÀÚ
[^a-z0-9] : a-z±îÁöÀÇ ¿µ¹®ÀÚ¿Í ¼ýÀÚ°¡ ¾Æ´Ñ ÇÑ ±ÛÀÚ
\d : 10Áø¼ö Á¤¼ö ÇѱÛÀÚ [0-9]
\D : 10Áø¼ö Á¤¼ö°¡ ¾Æ´Ñ ÇÑ ±ÛÀÚ[^0-9]
\w : ¿µ¹®ÀÚ ¶Ç´Â ¼ýÀÚ[a-zA-Z0-9-]
\W : \w°¡ ¾Æ´Ñ ±ÛÀÚ[^a-zA-Z0-9-]
\s : °ø¹é¹®ÀÚ ÇѱÛÀÚ(space, tab, newline)
\S : \s°¡ ¾Æ´Ñ ÇÑ ±ÛÀÚ \n : newline
\r : carriage return
\t : tab
\f : form feed
\b : [] ³»ºÎ¿¡¼ »ç¿ëµÉ °æ¿ì backspace
\0,\000 : ³Î¹®ÀÚ
\nnn : nnnÀ̶ó´Â 8Áø¼öÀÇ °ªÀ» °¡Áö´Â ascii ÇѱÛÀÚ
\xnn : nnÀ̶ó´Â 16Áø¼öÀÇ °ªÀ» °¡Áö´Â ASCII ÇѱÛÀÚ
\cX : Ctrl+X¿¡ ÇØ´çÇÏ´Â ÇѱÛÀÚ
\metachar : \|, \*, \\, \(, \), \[, \{, \^, \$, \+, \?, \.(|,*,\,(......ÀÇ Àǹ̸¦ °¡Áø´Ù)
(abc) : µÚ¿¡ °¡¼ ÂüÁ¶µÉ abc¶ó´Â ¹®ÀÚ¿
\1 : ù ¹øÂ° ÂüÁ¶ ¹®ÀÚ¿
\2 : µÎ ¹øÂ° ÂüÁ¶ ¹®ÀÚ¿
\n : n¹øÂ° ÂüÁ¶ ¹®ÀÚ¿
x? : x°¡ 1¹ø ³ª¿ÀÁö ¾Ê°Å³ª 1¹ø ³ª¿À´Â °æ¿ì
x* : x°¡ 0¹ø ÀÌ»ó ¹Ýº¹µÇ´Â ¹®ÀÚ¿
x+ : x°¡ 1¹ø ÀÌ»ó ¹Ýº¹µÇ´Â ¹®ÀÚ¿
x{m,n} : x°¡ m¹ø ÀÌ»ó, n¹ø ¹Ì¸¸À¸·Î ³ª¿À´Â ¹®ÀÚ¿
x{m,} : x°¡ m¹ø ÀÌ»ó ³ª¿À´Â ¹®ÀÚ¿
x{m} : x°¡ m¹ø ³ª¿À´Â ¹®ÀÚ¿
abc : a¿Í b¿Í c°¡ ¿¬¼ÓÀ¸·Î ºÙ¾î¼ ³ª¿À´Â ¹®ÀÚ¿
abc| def| ghi : ¹®ÀÚ¿ abc, def, ghi ÁßÀÇ Çϳª¿¡ ÇØ´çµÇ´Â °æ¿ì
À§Ä¡Ç¥½ÃÁ¶°Ç
\b : [] ¹Ù°°¿¡¼ \w¿Í \W°¡ ¼·Î ¹Ù²î°í ÀÖ´Â word boundary¸¦ ÀǹÌÇÔ
\B : \b°¡ ¾Æ´Ñ °æ¿ì
\A : ½ºÆ®¸µÀÇ Ã³À½ À§Ä¡
\Z : ½ºÆ®¸µÀÇ ¸¶Áö¸· À§Ä¡
\G : ¸¶Áö¸·À¸·Î m//g¿¡ ÀÇÇØ ¸ÅÄ¡°¡ µÈ À§Ä¡
^ : ½ºÆ®¸µÀÇ °¡Àå óÀ½ À§Ä¡ Ç¥½Ã. /m modifier°¡ ÀÖÀ¸¸é ¶óÀÎÀÇ Ã³À½À» ÀǹÌÇÑ´Ù.
$ : ½ºÆ®¸µÀÇ °¡Àå ¸¶Áö¸· À§Ä¡Ç¥½Ã /m modifier°¡ ÀÖÀ¸¸é ¶óÀÎÀÇ ³¡À» ÀǹÌÇÑ´Ù.
(?=...) : ...À§Ä¡¿¡ ³õÀÏ ¹®ÀÚ¿ÀÌ ¸ÅÄ¡µÈ´Ù´Â Á¶°Ç
(?!...) : ...À§Ä¡¿¡ ³õÀÏ ¹®ÀÚ¿ÀÌ ¸ÅÄ¡µÇÁö ¾Ê´Â´Ù´Â Á¶°Ç
3.¿¹Á¦ Àú´Â ¸ÞÅ©·Î°¡ Á¤ÀÇµÈ ºÎºÐÀ» ãÀ» ¶§ ÀÌ ±â´ÉÀ» ÀÌ¿ëÇϰï ÇÕ´Ï´Ù. ´ë·®ÀÇ ¼Ò½º¿¡¼ ¸ÅÅ©·ÎÀÇ Á¤ÀÇµÈ ºÎºÐÀ» ã±â À§ÇØ find in files¸¦ ÀÌ¿ëÇÏ¸é ³Ê¹« ¸¹Àº °á°ú°¡ ³ª¿À´Â µî ±ÍÂú½À´Ï´Ù. ¹°·Ð ¿©±â¼ ´Ù½Ã find¸¦ ÇÏ¿© defineÀ» ãÀ¸¸é µÇÁö¸¸ Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇØ¼ °£´ÜÈ÷ ãÀ» ¼öµµ ÀÖ½À´Ï´Ù. Regular expressionÀ» äũÇϰí #define[ \t]+MY_MACROÀ»°Ë»öÇϸé Çѹ濡 ã¾Æ ÁÙ °ÍÀÔ´Ï´Ù. ¿©±â¼ []´Â ¼±ÅÃ, \t´Â tab, +´Â ÇϳªÀÌ»óÀ» ÀǹÌÇÕ´Ï´Ù. - 2001.08.13 Smile Seo - |