PHP Á¤±ÔÇ¥Çö½Ä Æ©Å丮¾ó | ÀÛ¼ºÀÏ : 2003/10/10 00:57 |
![]() |
Á¶È¸¼ö : 9062 |
![]() | |||||||||
Learning to Use Regular Expressions by Example (¿¹Á¦·Î ¹è¿ì´Â Á¤±ÔÇ¥Çö½Ä) ÇöÀç Á¦°¡ ÀÛ¾÷Çϰí ÀÖ´Â »çÀÌÆ®´Â ÆûÀ» ÅëÇÑ À¯ÀúÀԷ¿¡ ¸¹Àº ÀÇÁ¸À» Çϰí ÀÖ°í ¸ðµç µ¥ÀÌÅÍ´Â µ¥ÀÌÅͺ£À̽º·Î º¸³»±â Àü¿¡ °Ë»çÇØ¾ßÇÕ´Ï´Ù. óÀ½¿¡´Â PHP3ÀÇ Á¤±Ô Ç¥Çö½Ä ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µÈ´Ù´Â °Ç ¾Ë°í ÀÖ¾úÁö¸¸ ¾î¶»°Ô Á¤±ÔÇ¥Çö½ÄÀ» ÀÛ¼ºÇØ¾ß ÇÒÁö ¸ô¶ú½À´Ï´Ù. Á¦°¡ ÇÊ¿ä·Î Çß´ø °ÍÀº ¹º°¡ ¿¹Á¦°¡ µÉ¸¸ÇÑ °ÍÀ̾úÁÒ. (¹°·Ð óÀ½À¸·Î º» °ÍÀº PHP3 ¸Å´º¾ó°ú POSIX 1002.3 ½ºÆåÀ̾úÁÒ ÇÏÁö¸¸ ¿¹Á¦°¡ ¾ø¾î¼ º° µµ¿òÀÌ µÇÁú ¸øÇß½À´Ï´Ù) µ¡ ºÙ¿© ¸»ÇÏÀÚ¸é Á¤±ÔÇ¥Çö½Ä¿¡ ´ëÇÑ ÁÁÀº ±ÛÀ» À¥¿¡¼ ã±â¶õ Á¤¸» ¾î·Á¿ü½À´Ï´Ù. Àü °æÇè°ú ½ÃÇàÂø¿À·Î Á¡Á¡ ±×°Í¿¡ ´ëÇØ ¾Ë°Ô µÇ¾ú°í º°°Å ¾Æ´ÔÀ» ±ú´Þ¾Ò½À´Ï´Ù. ±×·¡¼ ÀÌ ±Û¿¡¼ ¹®¹ý¿¡ ´ëÇÑ Á÷Á¢ÀûÀÎ ¼³¸íÀ» ÇÏ°í ±Ý¾× ÀԷ°ú email ÁÖ¼Ò ¹®ÀÚ¿À» À» °Ë»çÇÏ´Â Á¤±ÔÇ¥Çö½ÄÀ» ÀÛ¼ºÇÏ´Â ´Ü°è¸¦ ¼³¸íÇÏ·ÁÇÕ´Ï´Ù. - Basic Syntax of Regular Expressions (Á¤±ÔÇ¥Çö½ÄÀÇ ±âº» ¹®¹ý) ¸ÕÀú Ư¼ö¹®ÀÚ '^'¿Í '$'¸¦ »ìÆìº¾½Ã´Ù. ÀÌ ¹®ÀÚÀÇ ¿ªÇÒÀº ¹®ÀÚ¿ÀÇ ½ÃÀÛ°ú ³¡À» ÀǹÌÇÕ´Ï´Ù. ´ÙÀ½°ú °°Àº ÇØ´ç ¿¹¸¦ µé ¼ö ÀÖ½À´Ï´Ù. "^The": "The"·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¿ "of despair$": "of despair"·Î ³¡³ª´Â ¹®ÀÚ¿ "^abc$": "abc"·Î ½ÃÀÛÇϰí "abc"·Î ³¡³ª´Â ¹®ÀÚ¿ ("abc" ¶ó´Â ¹®ÀÚ¿µµ ÇØ´çµÊ) "notice": "notice"°¡ µé¾î ÀÖ´Â ¹®ÀÚ¿ ¸¶Áö¸· ¿¹Á¦¿¡¼ º¸µíÀÌ ÀÌ µÎ °³ÀÇ Æ¯¼ö¹®ÀÚ°¡ ¾ø´Â ÆÐÅÏÀº °Ë»ç´ë»óÀÌ µÇ´Â ¹®ÀÚ¿¿¡ ¾î¶² À§Ä¡¿¡¼µçÁö µé¾î ÀÖÀ½ ÀǹÌÇÕ´Ï´Ù. Ư¼ö¹®Àڷδ '*', '+', '?'µµ ÀÖ½À´Ï´Ù. ÀÌ ¹®ÀÚµéÀº ¾î¶² ¹®ÀÚÀÇ ¹Ýº¹¿¡ °üÇÑ ÁöÁ¤À» ÇØÁÖ´Â ¹®ÀÚÀÔ´Ï´Ù. °¢°¢ '0¶Ç´Â ±× ÀÌ»ó', '1¶Ç´Â ±× ÀÌ»ó', '0¶Ç´Â 1'À» ÀǹÌÇÕ´Ï´Ù. ¿©±â¿¡ ¸î °¡Áö ¿¹Á¦°¡ ÀÖ½À´Ï´Ù. "ab*": aµÚ¿¡ 0 ÀÌ»óÀÇ b°¡ ÀÖ´Â ¹®ÀÚ¿ ("a", "ab", "abbb", µî); "ab+": À§¿Í µ¿ÀÏ ÇÏÁö¸¸ ÃÖ¼ÒÇÑ Çϳª ÀÌ»óÀÇ b°¡ ÀÖ¾î¾ß ÇÔ ("ab", "abbb", µî); "ab?": b°¡ Çϳª ÀÖÀ» ¼öµµ ÀÖ°í ¾øÀ» ¼öµµ ÀÖÀ½ (ab ¶Ç´Â a) "a?b+$": a°¡ ÀÖÀ» ¼öµµ ÀÖ°í ¾øÀ» ¼öµµ ÀÖÀ¸¸ç ±×µÚ¿¡ Çϳª ÀÌ»óÀÇ b·Î ³¡³ª´Â ¹®ÀÚ¿ { }¸¦ »ç¿ëÇÏ¸é ¹Ýº¹µÇ´Â ¼ö¸¦ ¿µ¿ªÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. "ab{2}": aµÚ¿¡ 2°³ÀÇ b°¡ ÀÖ´Â ¹®ÀÚ¿ ("abb"); "ab{2,}": aµÚ¿¡ ÃÖ¼ÒÇÑ 2°³ ÀÌ»óÀÇ b°¡ ÀÖ´Â ¹®ÀÚ¿ ("abb", "abbbb", µî.); "ab{3,5}": aµÚ¿¡ 3°³¿¡¼ 5°³ »çÀÌÀÇ b°¡ ÀÖ´Â ¹®ÀÚ¿ ("abbb", "abbbb", ¶Ç´Â "abbbbb"). { }¸¦ »ç¿ëÇÒ ´ë´Â ¹Ýµå½Ã ù ¹øÂ° ¼ýÀÚ´Â Àû¾î¾ß µÊÀ» À¯ÀÇÇÕ´Ï´Ù. ((O) "{0,2}", (X) "{,2}"). ¶ÇÇÑ '*', '+', '?'´Â °¢°¢ "{0,}", "{1,}", "{0,1}"¿Í °°½À´Ï´Ù. ÀÌÁ¦ ()¸¦ »ç¿ëÇØ¼ ÇϳªÀÇ ¹®ÀÚ°¡ ¾Æ´Ñ ¿©·¯ ¹®ÀÚ¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¾´Ï´Ù. "a(bc)*": a µÚ¿¡ "bc"°¡ 0¶Ç´Â ±×ÀÌ»óÀÇ ¼ö¸¸Å ÀÖ´Â ¹®ÀÚ¿ "a(bc){1,5}": a µÚ¿¡ "bc."°¡ 1¿¡¼ 5¹ø µé¾î ÀÖ´Â ¹®ÀÚ¿ ¶Ç ´Ù¸¥ Ư¼ö¹®Àڷδ OR ¿¬»êÀ» ÇÏ´Â '|'¸¦ µé ¼ö ÀÖ½À´Ï´Ù. "hi|hello": "hi"³ª "hello"°¡ µé¾î ÀÖ´Â ¹®ÀÚ¿ "(b|cd)ef": "bef" ¶Ç´Â "cdef" "(a|b)*c": a¿Í b°¡ ¼¯¿©¼ ¿©·¯¹ø ³ªÅ¸³ª°í ±×µÚ¿¡ c°¡ ºÙ¾îÀÖ´Â ÆÐÅÏ '.' (period)´Â ¾î¶² ÇÑ ¹®ÀÚ¸¦ ÀǹÌÇÕ´Ï´Ù. "a.[0-9]": aµÚ¿¡ ÇÑ ¹®ÀÚ¿Í ¼ýÀÚ°¡ ºÙ¾î ÀÖ´Â ÆÐÅÏ "^.{3}$": 3¹®Àڷθ¸ µÇ¾î ÀÖ´Â ¹®ÀÚ¿ []Ç¥ÇöÀº ¹®ÀÚ¿ÀÇ ÇØ´ç À§Ä¡¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ¹®ÀÚ¸¦ Ç¥ÇöÇϴµ¥ »ç¿ëÇÕ´Ï´Ù. "[ab]": a¶Ç´Â b ("a|b"¿Í µ¿ÀÏÇÑ Ç¥Çö); "[a-d]": ¼Ò¹®ÀÚ 'a'¿¡¼ 'd'±îÁö ("a|b|c|d"¶Ç´Â "[abcd]"¿Í µ¿ÀÏ); "^[a-zA-Z]": ¿µ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¿ "[0-9]%": % ¹®ÀÚ ¾Õ¿¡ ÇϳªÀÇ ¹®ÀÚ°¡ ºÙ¾î ÀÖ´Â ÆÐÅÏ ",[a-zA-Z0-9]$": ¿µ¹®ÀÚ, ¼ýÀÚ·Î ³¡³ª´Â ¹®ÀÚ¿ ÆÐÅÏ []¿¡¼ '^'¸¦ Ç¥ÇöÀÇ °¡Àå óÀ½¿¡ »ç¿ëÇÏ¸é ³ªÅ¸³ª¼´Â ¾È µÇ´Â ¹®ÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. (¿¹> "%[^a-zA-Z]%" µÎ % »çÀÌ¿¡ ¿µ¹®ÀÚ°¡ ¾ø´Â ÆÐÅÏ) "^.[$()|*+?{"°°Àº Ư¼ö ¹®ÀÚ´Â ¹é½½·¹½¬('')¸¦ »ç¿ëÇØ¼ escapeµÉ ¼ö ÀÖ½À´Ï´Ù( ¿ªÀÚ ÁÖ : escape À̶õ ´Ù¸¥ ¸»·Î literal·Î Å»ÃâÇÑ´Ù¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù Áï Æ¯¼ö¹®ÀÚ·Î ÀνĵÇÁö ¾Ê°í ÀÏ¹Ý ¹®ÀÚ·Î ÀÎ½ÄµÇ°Ô ÇÕ´Ï´Ù). »ç¿ëÇÏ´Â °üÁ¡¿¡¼ º¸¸é ¹é½½·¹½¬µµ PHP3ÀÇ ¹®ÀÚ¿¿¡¼ escapeµÇ¾î¾ß Çϱ⠶§¹®¿¡ ¿¹¸¦ µé¾î "($|?[0-9]+"°°Àº Á¤±ÔÇ¥Çö½ÄÀº ereg("(\$|?[0-9]+", $str) ¿Í °°ÀÌ »ç¿ëµË´Ï´Ù (ÀÌ Ç¥Çö½ÄÀº ¹«¾ó °Ë»çÇÏ´Â °É±î¿ä? ^^;(ÀÌ°Ç ¿ªÀÚ°¡ ÇÑ ¸»ÀÌ ¾Æ´Õ´Ï´Ù)) ÇÏÁö¸¸ []¾È¿¡¼´Â Ư¼ö¹®ÀÚ°¡ ¸ðµÎ È¿·ÂÀ» ÀÐ°Ô µÇ±â ¶§¹®¿¡ ÀÌ ¹ýÄ¢À» ¹þ¾î³²À» ±â¾ïÇϼ¼¿ä []¾È¿¡¼´Â ¹é½½·¹½¬¸¦ Æ÷ÇÔÇÑ ¸ðµç Ư¼ö¹®ÀÚµéÀÌ ±× ÈûÀ» ÀнÀ´Ï´Ù (¿¹> "[*+?{}.]"´Â ¸»±×´ë·Î '*', '', '+', '?', '{', '}', '.' ¹®ÀÚ¸¦ ÀǹÌÇÕ´Ï´Ù. ±×¸®°í regex man ÆäÀÌÁö¿¡ ³ª¿ÀµíÀÌ ']'¹®ÀÚ ÀÚü¸¦ Æ÷ÇÔÇÏ·Á¸é ¹®ÀÚµé ¸®½ºÆ®ÀÇ Ã¹ ¹øÂ°¿¡ À§Ä¡½Ãŵ´Ï´Ù('^'°¡ ÀÖÀ¸¸é '^'µÚ¿¡). '-'¸¦ Æ÷ÇÔÇÏ·Á¸é ù ¹øÂ° ¶Ç´Â ¸¶Áö¸· ¹®ÀÚ·Î ÁöÁ¤Çϰí '-'¹®ÀÚ°¡ ¿µ¿ªÀÇ °æ°è (¿¹> a¿¡¼ -±îÁö)ÀÏ °æ¿ì ¿µ¿ªÁöÁ¤ ¹®ÀÚÀÇ µÎ ¹øÂ° °æ°è·Î ÁöÁ¤([a--])ÇÕ´Ï´Ù. ¿Ïº®ÇÑ ¼³¸íÀ» ÇÏ·Á¸é ´ëÁ¶ ¼ø¼(collating sequences), ¹®ÀÚ Å¬·¡½º(character classes), µ¿ÀÏ Å¬·¡½º(equivalence classes)¿¡ ´ëÇØ¼µµ ´Ù·ç¾î¾ß ÇÏÁö¸¸ ÀÌ ±Û¿¡¼´Â º° »ó°ü°ü°è°¡ ¾ø±â ¶§¹®¿¡ regex man ÆäÀÌÁö¸¦ Âü°íÇϵµ·Ï ÇÕ´Ï´Ù. -Validating Money Strings (±Ý¾× ¹®ÀÚ¿ °Ë»çÇϱâ) ok ÀÌÁ¦ ¿ì¸®´Â ¿©±â¼ ¹è¿î °ÍÀ» ¹º°¡ ½ÇÁúÀûÀÎ °Í¿¡ Àû¿ë ½ÃÄѺ¾½Ã´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ±Ý¾×À» °Ë»çÇÏ´Â Á¤±ÔÇ¥Çö½Ä¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù. ±Ý¾×Àº "10000.00" ¿Í "10,000.00", ¿Í, ¼¾Æ® ¾øÀÌ, "10000" ¿Í "10,000" ÀÌ·¸°Ô 4°¡Áö ¹æ¹ýÀ¸·Î »ç¿ëµË´Ï´Ù. (¿ªÀÚÁÖ : ´Þ·¯¿Í ¼¾Æ® ±º¿ä 蝁,.蝁) ´ÙÀ½ Á¤±ÔÇ¥Çö½ÄÀ» ±âÃÊ·Î ½ÃÀÛÇØ º¾½Ã´Ù. ^[1-9][0-9]*$ ÀÌ Á¤±ÔÇ¥Çö½ÄÀº 0À¸·Î ½ÃÀÛÇÏÁö ¾Ê´Â ¾î¶°ÇÑ ¼öÀÎÁö¸¦ °Ë»çÇÕ´Ï´Ù. ÇÏÁö¸¸ "0"µµ Åë°úµÇÁö ¸øÇÕ´Ï´Ù. ±×·¡¼ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù. ^(0|[1-9][0-9]*)$ ¸»·Î Ç¥ÇöÇϸé "0 À̰ųª 0À¸·Î ½ÃÀÛÇÏÁö ¾Ê´Â ¼ö"ÀÔ´Ï´Ù. ÀÌÁ¦ ¼ö ¾Õ¿¡ -ºÎÈ£µµ »ç¿ëÇÒ ¼ö ÀÖ°Ô ¼öÁ¤ÇØ º¾´Ï´Ù. ^(0|-?[1-9][0-9]*)$ ÀÌ ¶æÀº "0 À̰ųª -ÀÌ ÀÖÀ» ¼ö ÀÖ´Â ¼öÀ̰í ÀÌ ¼ö´Â 0À¸·Î ½ÃÀÛÇÏÁö ¾Ê´Â´Ù"ÀÔ´Ï´Ù. ÀÌÁ¦ Á» ´À½¼ÇÏ°Ô Çϰí À¯Àú°¡ 0À¸·Î ½ÃÀÛÇÏ´Â ¼öµµ ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØº¾´Ï´Ù. ±Ý¾×¿¡ ÇÊ¿ä¾ø´Â -ºÎÈ£µµ ¾ø¾Ö¹ö¸³´Ï´Ù. ±×¸®°í ¼±ÅûçÇ×ÀÎ ¼Ò¼öÁ¡ ºÎºÐ ÆÐÅϵµ ³Ö¾î¼ ´ÙÀ½ Á¤±ÔÇ¥Çö½ÄÀÌ ³ª¿É´Ï´Ù. ^[0-9]+(.[0-9]+)?$ ÇÏÀ̶óÀÌÆ®µÈ ºÎºÐÀº ¼Ò¼öÁ¡(.)ÀÌ Ç×»ó ÃÖ¼ÒÇÑ ÇϳªÀÌ»óÀÇ ¼ö¿Í ºÙ¾î ÀÖ¾î¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù. ±×·¯¹Ç·Î ¿¹¸¦ µé¸é "10."Àº Åë°úµÇÁö ¸øÇϰí "10" °ú "10.2"´Â Åë°úÇÕ´Ï´Ù. ^[0-9]+(.[0-9]{2})?$ ÀÌÁ¦ ¼Ò¼öÁ¡ µÚ¿¡ ¹Ýµå½Ã 2°³ÀÇ ¼ö°¡ ºÙ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ°Ô ³Ê¹« ½ÉÇÏ´Ù ½ÍÀ¸¸é ´ÙÀ½°ú °°ÀÌ ÇØ¼ ^[0-9]+(.[0-9]{1,2})?$ ¼Ò¼öÁ¡ µÚ¿¡ ÇϳªÀÇ ¼ýÀÚ¸¸ ¿Ã ¼öµµ ÀÖ°Ô ÇÕ´Ï´Ù. ÀÌÁ¦ 1000´ÜÀ§¸¦ ±¸ºÐÇÏ´Â ','¸¦ Ç¥ÇöÇØ º¾´Ï´Ù. ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ "1~3°³ÀÇ ¼ýÀÚ¿Í ±× µÚ¿¡ ','¿Í 3°³ÀÇ ¼ýÀÚ·Î ÀÌ·ç¾îÁø ºÎºÐÀÌ 0°³ ¶Ç´Â ±× ÀÌ»óÀÌ ºÙ¾î ÀÖ´Â ÆÐÅÏ". ½±ÁÒ? ÀÌÁ¦ ','µµ ¼±ÅûçÇ×(¿É¼Ç:option)À¸·Î ¸¸µé¾î º¾´Ï´Ù. ^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$ ÀÌ°Ô ÀüºÎÀÔ´Ï´Ù. ¿©±â¼ '+'¸¦ '*'·Î ¹Ù²Ù¸é ºó ¹®ÀÚ¿µµ Åë°úµÇ´Â ÆÐÅÏÀÌ µË´Ï´Ù. ÇÔ¼öÈ£ÃâÇÒ ¶§ ¹é½½·¡½¬ ¹®ÀÚ escapeÇÏ´Â °Í (¿ªÀÚ : /¸¦ //·Î) ÀØÁö ¸¶¼¼¿ä. ÀÏ´Ü ¹®ÀÚ¿ÀÌ °Ë»çµÇ¾î Áö¸é str_replace("," , "" , $money) ÇÔ¼ö·Î ','¸¦ ¾ø¾Ö¹ö¸®°í double·Î Çü º¯È¯À» ÇØ¼ »ê¼ú¿¬»ê¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. - Validating E-mail Addresses (E-mail ÁÖ¼Ò °Ë»çÇϱâ) ÀÌÁ¦ e-mail ÁÖ¼Ò¸¦ »ìÆìº¾½Ã´Ù. e-mailÁÖ¼Ò´Â 3ºÎºÐÀ¸·Î ±¸¼ºµË´Ï´Ù. : user ¸í(@¿ÞÂÊÆí¿¡ ÀÖ´Â ¸ðµç °Í), '@', ±×¸®°í ¼¹ö¸í(³ª¸ÓÁö ºÎºÐµé) user¸íÀº ´ë¹®ÀÚ ¶Ç´Â ¼Ò¹®ÀÚ¿Í ¼ýÀÚ, '.' '-', '_'·Î ±¸¼ºµË´Ï´Ù. '_'¸¦ Á¦¿ÜÇÏ¸é ¼¹ö¸íµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. user ¸íÀº .À¸·Î ½ÃÀÛÇϰųª ³¡³ªÁö ¾Ê½À´Ï´Ù. domain¸íµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ¶ÇÇÑ .ÀÌ ¿¬¼ÓÀ¸·Î ÀÖÀ» ¼öµµ ¾ø°í . »çÀÌ¿¡´Â ÃÖ¼ÒÇÑ Çϳª ÀÌ»óÀÇ ¹®ÀÚ°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌÁ¦ user¸í ºÎºÐÀ» °Ë»çÇÏ´Â Á¤±ÔÇ¥Çö½ÄÀ» ¸¸µé¾î º¾½Ã´Ù. ^[_a-zA-Z0-9-]+$ ÀÌ Á¤±ÔÇ¥Çö½ÄÀº ¾ÆÁ÷ .À» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù. ^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$ ¸»·Î Çϸé "ÃÖ¼ÒÇÑ ÇϳªÀÇ À¯È¿ÇÑ ¹®ÀÚ(valid character)¿Í ±× µÚ¿¡ .°ú À¯È¿¹®ÀÚµé·Î ±¸¼ºµÈ ºÎºÐÀÌ 0¶Ç´Â ±× ÀÌ»óÀÌ ÀÖ´Â ÆÐÅÏ"ÀÔ´Ï´Ù. Á» °£´ÜÇÏ°Ô Çϱâ À§ÇØ ÀÌ Á¤±ÔÇ¥Çö½ÄÀ» ereg()´ë½Å¿¡ eregi()ÇÔ¼ö¿¡ »ç¿ëÇÕ´Ï´Ù. eregi()ÇÔ¼ö´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê±â ¶§¹®¿¡ "a-z"¿Í "A-Z"°°ÀÌ µÎ °³ÀÇ ¿µ¿ªÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ µÇ´Â ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù.(µÑ Áß ¾î¶² °ÍÀÌ¶óµµ »ó°ü¾øÀ½) ^[_a-z0-9-]+(.[_a-z0-9-]+)*$ ¼¹ö¸íÀÇ °æ¿ì '_'¸¸ Á¦¿ÜÇϰí´Â µ¿ÀÏÇÕ´Ï´Ù. ^[a-z0-9-]+(.[a-z0-9-]+)*$ ÀÌÁ¦ '@'¸¦ Áß½ÉÀ¸·Î ¼·Î ºÙ¿©¼ ´ÙÀ½°ú °°ÀÌ ¸¸µé¾î ³À´Ï´Ù. ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$ - ±âŸ »ç¿ë Extracting Parts of a String (¹®ÀÚ¿ÀÇ ÀϺκРÀß¶ó³»±â) ereg()¿Í eregi()ÇÔ¼ö´Â ¹®ÀÚ¿¿¡¼ ÆÐÅÏ¿¡ ÇØ´çµÇ´Â ºÎºÐÀ» Àß¶ó³»´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù. (¸Þ´º¾ó Âü°í) ¿¹¸¦ µé¸é path/URL ¹®ÀÚ¿¿¡¼ ÆÄÀϸíÀ» Àß¶ó³»°í ½ÍÀº °æ¿ì ´ÙÀ½°ú °°Àº Äڵ尡 ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ereg("([^\/]*)$", $pathOrUrl, $regs); echo $regs[1]; Advanced Replacing (ġȯÀÇ ¹ßÀüµÈ ÇüÅÂ) ereg_replace() ¿Í eregi_replace()´Â ¾ÆÁÖ À¯¿ëÇÑ ÇÔ¼öÀÔ´Ï´Ù. ¹®ÀÚ¿¿¡ ÀÖ´Â ¸ðµç ¹®ÀÚ¸¦ ','·Î ±¸ºÐÇÑ´Ù°í °¡Á¤ÇØ º¾½Ã´Ù. ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. (¿ªÀÚ : trim()ÇÔ¼ö´Â ¹®ÀÚ¿ÀÇ ¾Õ°ú µÚ¿¡ ÀÖ´Â °ø¹é¹®ÀÚ¸¦ ¸ðµÎ Á¦°ÅÇÏ´Â ÇÔ¼ö) ereg_replace("[ nrt]+", ",", trim($str)); - Some exercises (¿¬½À¹®Á¦) ¿©±â ´ç½ÅÀ» Á» ¹Ù»Ú°Ô ÇÒ ¸¸ÇÑ °ÍµéÀÌ ÀÖ½À´Ï´Ù (^^;) 1. ¿©±â ³ª¿Â email °Ë»ç Á¤±ÔÇ¥Çö½ÄÀÇ ¼¹ö ºÎºÐÀ» ÃÖ¼ÒÇÑ µÎ °³ÀÇ À̸§À¸·Î ±¸¼ºµÇ¾î¾ß ÇÏ°Ô ¼öÁ¤ÇϽÿÀ (hint : ´Ü ÇϳªÀÇ ¹®ÀÚ¸¸ º¯°æÇÏ¸é µÊ) 2. trim()±â´ÉÀ» ÇÏ´Â ereg_replace()ÇÔ¼öÈ£ÃâÀ» ÇϽÿÀ 3. '#', '@', '&', '%'¸¦ '~'·Î ¼öÁ¤ÇÏ´Â ereg_replace()ÇÔ¼öÈ£ÃâÀ» ÇϽÿÀ Have fun! Ãâó : http://www.phpbuilder.com/ ¿ø¹® : Dario F. Gomes (dario@who.net) 1999/06/16 ¹ø¿ª : Çã·ÃÈ£ (rhheo@hanmail.net) 2001/01/30 |
![]() |