Á¤±ÔÇ¥Çö½Ä
°ü¸®ÀÚ 08-12-03 05:10
Á¤±ÔÇ¥Çö½ÄÀº ¹®ÀÚ¿­ÀÇ ÀÏÁ¤ÇÑ ÆÐÅÏÀ» ã´øÁö ġȯÇÏ¿© ÁÖ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.
¸ÞÀÏ ÁÖ¼Ò°Ë»ç¶ó´øÁö, ¼Ò¼öÁ¡ ¸î°ÀÚ¸® ±îÁö ²÷¾î¼­ º¸¿©Áֱ⠵î.. ´õ¿í´õ º¹ÀâÇÑ
¹®ÀÚ¿­µµ ÀÌ Á¤±ÔÇ¥Çö½ÄÀ¸·Î ó¸®ÇÒ¼ö ÀÖ´Ù....
ÀÌ´Â ÇÁ·Î±×·¥½Ã¿¡ ¸¹Àº ÀÏÀ» ½±°Ô ó¸®ÇÏ¿© ÁØ´Ù (´ëºÎºÐ ³»ÀåÇÔ¼ö¿¡µµ Àֳ׿ä...)
ƯÈ÷ À¥¿¡¼­´Â Æû°ªÀ» ó¸®ÇÒ¶§ ƯÁ¤ÆûÀÇ Çü½ÄÀÌ ¿øÇÏ´Â Çü½Ä¿¡ ¸Â´ÂÁö °Ë»çÇÒ¶§
¸¹ÀÌ ¾²Àϼö ÀÖ´Ù. Á¤±ÔÇ¥Çö½ÄÀº °ÅÀÇ ¸ðµç ¾ð¾î¿¡¼­ Áö¿øÇÏÁö¸¸ »ç¿ë¹ýÀº Á¶±Ý¾¿
´Ù¸£´Ù. ÇÏÁö¸¸ Å©°Ô ´Ù¸£Áö ¾ÊÀ¸¹Ç·Î ÀÍÇô³õÀ¸¸é ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó »ý°¢µÈ´Ù.

**¾Æ·¡ÀÇ ±ÛÀº ¸î°¡Áö ¹®¼­¸¦ Âü°íÇÏ¿´À¸¸ç Á¤±ÔÇ¥Çö½ÄÀÇ ¸ðµç°ÍÀ» Æ÷ÇÔÇÏÁö´Â
¾Ê´Â´Ù. (±âº»Àº phpbuilder.comÀÇ Ä÷³¶õÀÇ ³»¿ëÀÌ´Ù)
============================================
ÆíÀÇ»ó ¹Ý¸»À» ÇѰͿ¡ ´ëÇÏ¿© ¾çÇØ¸¦ ±¸ÇÕ´Ï´Ù.
============================================

Á¤±ÔÇ¥Çö½ÄÀº º¸Åë eregi, eregi_replace, ereg, ereg_replace, ¶Ç´Â perl ÀÇ ÇÔ¼öÆÐÅÏÀ»
±×´ë·Î »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇØ³õÀº ÇÔ¼ö preg_match, preg_split, preg_quote µîÀÇ ÇÔ¼ö
¸¦ »ç¿ëÇÑ´Ù. (¾Æ¸¶ perg ´Â php ¹öÀüÀÌ 3.0.9 À̻󿡼­ »ç¿ë°¡´ÉÇÒ°Ì´Ï´Ù)

¿¹) »ç°ú¶ó´Â ¹®ÀÚ¿­À» ¹è¶ó´Â ¹®ÀÚ¿­·Î ġȯÇÑ´Ù.
$string ="À̰ÍÀº »ç°ú ÀÔ´Ï´Ù";
ereg_replace("»ç°ú","¹è",$string);



1. ^ ¿Í $ ÀÇ »ç¿ëÀÇ ¿¹

'^' ´Â ¹Ù·Î ¹®ÀÚµÚÀÇ ¹®ÀÚ¿­·Î ½ÃÀÛ µÊÀ» °¡¸£Å²´Ù.
"^The" : ´Â "The"·Î ½ÃÀÛ ÇÏ´Â ¹®ÀÚ¸¦ ¸»ÇÑ´Ù.

'$' ´Â ¹®ÀÚ¿­ÀÇ ¸Ç ¸¶Áö¸·À» °¡¸£Å²´Ù.
"of despair$" : ´Â "of despair"·Î ³¡³ª´Â ¹®ÀÚ¿­ÀÌ´Ù.

"^abc$" : ´Â hello·Î ½ÃÀÛÇØ hello·Î ³¡³ª´Â °æ¿ì À̹ǷΠ"abc" ¸¸ ÇØ´çµÈ´Ù..



2. '.' '*' '+' '?' ÀÇ »ç¿ë¹ý

'.' Àº ¾î¶² ¹®ÀÚµçÁö ÀÓÀÇÀÇ Çѹ®ÀÚ¸¦ ¸»ÇÑ´Ù.²À ÇϳªÀÇ ¹®ÀÚ°¡ ÀÖ¾î¾ß ÇÑ´Ù.
¿¹) "x.z" ´Â xyz, xxz, xbz µîÀ̰í xz³­ xyyz´Â ¾ÈµÈ´Ù.

'*' ´Â ¹Ù·Î ¾ÕÀÇ ¹®ÀÚ°¡ ¾ø°Å³ª Çϳª ÀÌ»óÀÇ °æ¿ì¸¦ ¸»ÇÑ´Ù.
¿¹) "ab*" ´Â a, abc, ab, abbbb µîÀ» ¸»ÇÑ´Ù.

'+' ´Â ¹Ù·Î ¾ÕÀÇ ¹®ÀÚ¸¦ ³ªÅ¸³»¸é ²À 1³ª ÀÌ»óÀ̾î¾ß ÇÑ´Ù.
¿¹) "ab+" ´Â abc, abbb µîÀ̰í a´Â µÇÁö ¾Ê´Â´Ù.

'?' ´Â ¹Ù·Î ¾ÕÀÇ Çѹ®ÀÚ°¡ Àְųª ¾ø´Â°ÍÀ» ¸»ÇÑ´Ù. ´ÜÁö Çѹ®ÀÚ ¸¸À̾î¾ß ÇÑ´Ù.
¿¹) "ab?" ´Â a ¶Ç´Â ab ¸¦ ³ªÅ¸³½´Ù.



3. [], {} ¿Í () ±×¸®°í |
 

3-1 '[]' ´Â [] ¾È¿¡ Á¸ÀçÇÏ´Â ¹®ÀÚµéÁß ÇÑ ¹®ÀÚ¸¸À» ³ªÅ¸³½´Ù.
¿¹) [abc] ´Â a ¶Ç´Â b ¶Ç´Â c Áß¿¡ Çѹ®ÀÚ¸¦ ³ªÅ¸³½´Ù. ¿©±â¼­ '-'¸¦ »ç¿ëÇÒ¶© ¹üÀ§¸¦ ³ªÅ¸³½´Ù.
Áï [ a-f ] ´Â [abcdf] ¿Í °°Àº°ÍÀ» ³ªÅ¸³½´Ù.
¹®ÀÚŬ·¡½º ¿ÀÆÛ·¹ÀÌÅͶó´Â °Í¿¡ ´ëÇØ Àá½Ã..
À¯»çÇÑ ¼º°ÝÀÇ ¹®ÀÚµéÀ» »ç¿ëÀÚ°¡ ¾Ë¾Æº¸±â ½±°Ô ´Ü¾î·Î ±×·ìÀ» Áö¾ú´Ù°í º¸¸é µÈ´Ù.

alnum : ¾ËÆÄºª°ú ¼ýÀÚ
alpha : ¾ËÆÄºª
blank : ½ºÆäÀ̽º³ª ÅÇ (½Ã½ºÅÛ¿¡ ÀÇÁ¸ÀûÀÓ)
cntrl : ¾Æ½ºÅ°Äڵ忡¼­ÀÇ 127 ÀÌ»óÀÇ ¹®ÀÚ¿Í 32 ÀÌÇÏÀÇ Á¦¾î¹®ÀÚ
(ÇѱÛÀÇ Ã¹Â°¹ÙÀÌÆ®°¡ 127 ÀÌ»óÀ̹ǷΠÁ¦¾î¹®ÀÚ·Î Ãë±ÞµÊ :()
digit : ¼ýÀÚ
graph : ½ºÆäÀ̽º´Â Á¦¿ÜµÇ°í ³ª¸ÓÁö´Â 'print' Ç׸ñ°ú °°À½.
lower : ¼Ò¹®ÀÚ
print : ¾Æ½ºÅ°Äڵ忡¼­ 32¿¡¼­ 126±îÁöÀÇ ÂïÀ» ¼ö ÀÖ´Â ¹®ÀÚ
punct : Á¦¾î¹®ÀÚµµ ¾Æ´Ï°í ¾ËÆÄºª.¼ýÀÚµµ ¾Æ´Ñ ¹®ÀÚ
space : ½ºÆäÀ̽º, Äɸ®Áö ¸®ÅÏ, ´º¶óÀÎ, ¼öÁ÷ ÅÇ, ÆûÇǵå
upper : ´ë¹®ÀÚ
xdigit : 16Áø¼ö, 0-9, a-f, A-F

[[:alnum:]]Àº [a-zA-Z0-9] ¿Í °°Àº Àǹ̴Ù.
[[:alpha:]]Àº [a-zA-Z] ¿Í °°Àº Àǹ̴Ù.
¹®ÀÚ¿­ ¿ÀÆÛ·¹ÀÌÅÍ´Â [] »çÀÌ¿¡¼­¸¸ È¿·ÂÀ» ¹ßÈÖÇÑ´Ù.
±×¸®°í ¹Ý´ëÀÇ Àǹ̵µ °¡´ÉÇÏ´Ù.
[^[:alnum:]] Àº ¾ËÆÄºª°ú ¼ýÀÚÀÇ Á¶ÇÕÀÌ ¾Æ´Ñ°ÍÀ» ¸»ÇÑ´Ù.
[^a-zA-Z0-9] ¿Í °°ÀÌ »ç¿ëµÉ¼öµµ ÀÖ´Ù.




'3-2 {}'´Â {} ¾Õ¿¡ ÀÖ´Â ¹®ÀÚ³ª ¹®ÀÚ¿­ÀÇ °³¼ö¸¦ Á¤ÇÏ´Â °ÍÀÌ´Ù.

¿¹) "ab" ´Â "abb"¸¦ ³ªÅ¸³½´Ù. Áï bÀÇ °³¼ö°¡ 2°³¸¦ ³ªÅ¸³½´Ù.
"ab{2,}" ´Â abb, abbbbb µî bÀÇ °³¼ö°¡ 2°³ ÀÌ»óÀ» ³ªÅ¸³½´Ù.
"ab{3,5}" ´Â abbb, abbbb, abbbbb ¿Í °°ÀÌ b°¡ 3°³¿¡¼­ 5°³ ±îÁö¸¦ ³ªÅ¸³½´Ù.



3-3 '()' ´Â ()¾È¿¡ ÀÖ´Â ±ÛÀÚµéÀ» ±×·ìÈ­ ÇÑ´Ù.

¿¹) a(bc)* ´Â a, abc abcbc µî 'bc'°¡ ¾ø°Å³ª Çϳª ÀÌ»óÀÎ °æ¿ìÀÌ´Ù.
"a(bc)" ´Â abcbc ¸¦ ³ªÅ¸³½´Ù.



3-4 '|' ´Â OR ¿¬»êÀÚ ±â´ÉÀ» ÇÑ´Ù.

"a|b" ´Â a ¶Ç´Â b µÑÁß Çϳª¸¦ ³ªÅ¸³½´Ù.

Âü°íÇÒ°ÍÀº ±âÈ£Àε¥ À̰ÍÀº . (, ) µî ´ÜÁö ´ÙÀ½¿¡ ¿À´Â°ÍÀÌ ¹®ÀÚ¶ó´Â°ÍÀ»
ÀǹÌÇÑ´Ù. ¾î¶²ÇÑ Ã³¸®µµ ¾øÀÌ ¹®Àڷθ¸ ÀνÄÇÑ´Ù.
{1,3} Çϰí Çϸé {1,3} ¿Í´Â ´Ù¸£´Ù.


4. ±âÃÊ È°¿ë

"a(bc)*" ´Â a¶ó´Â ¹®ÀÚ¸¦ Æ÷ÇÔÇϰí bc¶ó´Â ¹®ÀÚ¿­ÀÌ ¾ø°Å³ª °è¼Ó¹Ýº¹µÇ´Â ¹®ÀÚ¿­ÀÌ´Ù.
À̰ÍÀº a, abc ,abcbc abcbcbc.... µîÀÇ ¹®ÀÚ¿­À» ÀǹÌÇÑ´Ù.

"a(bc){1,5}" ´Â a ¶ó´Â ¹®ÀÚ¸¦ Æ÷ÇÔÇϰí bc ¶ó´Â ¹®ÀÚ¸¦ ¹­Àº ÇüÅÂÀε¥. bc ¶ó´Â ¹®ÀÚ°¡
Çѹø¿¡¼­ 5¹ø±îÁö¸¦ ¸»ÇÑ´Ù. --¸»ÀÌ ´õ ¾î·Æ´Ù....
À̰ÍÀº abc,abcbc,abcbc,abcbcbc,abcbcbcbc,abcbcbcbcbc ÀÇ ¹®ÀÚ¿­À» ÀǹÌÇÑ´Ù.

^[1-9][0-9]*$ ´Â ÀÚ¿¬¼ö¸¦ Ç¥½ÃÇÒ¼ö ÀÖ´Ù.
^(0|[1-9][0-9]*)$ ´Â 0À» Æ÷ÇÔÇÏ´Â ÀÚ¿¬¼ö
^(0|-?[1-9][0-9]*)$ Á¤¼öÇ¥½Ã
^[0-9]+(.[0-9]+)?$ ¼Ò¼ýÁ¡ Ç¥½Ã
^[0-9]+(.[0-9])?$ ¼Ò¼öÁ¡ µÑ°ÀÚ¸® ±îÁö
^[0-9]+(.[0-9]{1,2})?$ ¼Ò¼öÁ¡ µÑ°ÀÚ¸®³ª ù°ÀÚ¸®
^[0-9]{1,3}(,[0-9])*(.[0-9]{1,2})?$ µ·ÀÇ Ç¥½Ã...
(¼¾Æ®±îÁö Ç¥½Ã°¡´É ¿¹ 2,200.20 : ÀÌõÀ̹éÀ̽ʼ¾Æ® ¶Ç´Â ÀÌõÀ̹éÀ̽ÊÀü ¸Â³ª?)


5. º¹ÇÕȰ¿ë
 

5-1 ¸ÞÀÏ ÁÖ¼Ò Ã¼Å·..
 

5-1-1 : À¯Àú¸í@µµ¸ÞÀθí

À¯Àú¸í : ´ë¹®ÀÚ, ¼Ò¹®ÀÚ, ¼ýÀÚ ±×¸®°í '.' '-' '_' À» °¡Áú ¼öÀÖÁö¸¸ . ·Î ½ÃÀÛÇØ¼­´Â ¾ÈµÈ´Ù.
[_0-9a-zA-Z-]+(.[_0-9a-zA-Z]+)*
À̶§¿¡´Â eregi ¸¦ »ç¿ëÇÒ¶§±î ¾Æ´Ñ ereg ¸¦ »ç¿ëÇÒ¶§ÀÌ´Ù. eregi ÇÔ¼ö´Â ´ë¼Ò¹®ÀÚ±¸ºÐÀÌ ¾ø´Ù.
^[_a-z0-9-]+(.[_a-z0-9-]+)*$ eregi ÇÔ¼ö¸¦ »ç¿ëÇÒ¶§...


5-1-2 : µµ¸ÞÀÎ : À¯Àú¸í°ú ±âº»ÀûÀ¸·Î´Â °°Áö¸¸ _ °¡ ¾ø´Ù.
^[a-z0-9-]+(.[a-z0-9-]+)*$


5-1-3 : ¸ÞÀÏ ÁÖ¼Ò Ã¼Å·
À§ÀÇ °ÍÀÇ Á¶ÇÕÀÌ´Ù.

^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$


5-2 URL ¿¡ http:// ºÙ¿©ÁÖ±â

URL Àº ´ë¹®ÀÚ, ¼Ò¹®ÀÚ, ¼ýÀÚ ,'.','_','=','&','?','~','@','/','+' ¸¦ »ç¿ë ÇÒ¼ö ÀÖ´Ù
Áï http://([0-9a-zA-Z./@~?&=_]+) °¡ µÈ´Ù.


$add="www.codelib.co.kr";
$pattern ="([0-9a-zA-Z./@~?&=_]+)";
$link =ereg_replace($pattern, "http://1" $add);
echo ("$link");

ÀÇ °á°ú $link ´Â ´ÙÀ½Ã³·³ º¯°æ µÈ´Ù.
http://www.codelib.co.kr
¿Í °°ÀÌ µÈ´Ù. Âü°í·Î 1 Àº ù¹øÂ° °ýÈ£¾ÈÀÇ °ªÀ» ¸»ÇÑ´Ù. 2´Â 2¹øÂ°..


¸î°¡Áö º¹ÀâÇÑ Á¤±ÔÇ¥Çö½ÄÀ» Ç®´Ùº¸¸é ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÉ°ÍÀÌ´Ù '