³¯Â¥: 1996-04-17 | ±Û¾´ÀÌ: µµ¾Æ | 15629 ¹ø | ÇÁ¸°Æ® | ¸ÞÀϷκ¸³»±â

Á¦ 17°­ - ¹®ÀÚ¿­ ÀÏÄ¡


ÆÞÀÇ ¾ÆÁÖ À¯¿ëÇÑ Æ¯Â¡(°¡Àå À¯¿ëÇÑ Æ¯Â¡ÀÌ ¾Æ´Ï¶ó)Áß Çϳª´Â °­·ÂÇÑ ¹®ÀÚ¿­ Á¶ÀÛ ´É·ÂÀÌ´Ù. ÀÌ ¹®ÀÚ¿­ Á¶ÀÛÀÇ Çٽɿ¡´Â Á¤±Ô½Ä(regular expression:RE)ÀÌ ÀÖ´Ù. ÀÌ Á¤±Ô½ÄÀº ¸¹Àº ´Ù¸¥ UNIX À¯Æ¿¸®Æ¼¿¡¼­ °øÀ¯ÇÏ´Â ±â´ÉÀ̱⵵ ÇÏ´Ù. Á¤±Ô½Ä

Á¤±Ô½ÄÀº ½½·¡½¬¸¦ Æ÷ÇÔÇϸç, =~ ¿¬»êÀÚ·Î ÀÏÄ¡¸¦ ¼öÇàÇÑ´Ù. ´ÙÀ½ ½ÄÀº $sentence º¯¼ö³»¿¡ a) Á¦¸ñ¶ó´Â ¹®ÀÚ¿­ÀÌ ³ªÅ¸³ª¸é ÂüÀ̵ȴÙ.

$sentence =~ /a) Á¦¸ñ/

RE´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÑ´Ù. µû¶ó¼­ $sentence°¡

$sentence = "A) Á¦¸ñ - °Ì¾ø´Â Å䲤ÀÌ";

¿Í °°´Ù¸é À§ÀÇ ÀÏÄ¡´Â °ÅÁþÀÌ µÈ´Ù. !~ ¿¬»êÀÚ´Â ÀÏÄ¡°¡ ¹ß»ýÇÏÁö ¾ÊÀ½À» Áö½ÃÇÒ ¶§ »ç¿ëµÈ´Ù. À§ÀÇ ¿¹¿¡¼­

$sentence !~ /a) Á¦¸ñ/

´Â ÂüÀ̵ȴÙ. ¹®ÀÚ¿­ a) Á¦¸ñÀÌ $sentence¿¡ ³ªÅ¸³ªÁö ¾Ê±â ¶§¹®ÀÌ´Ù. $_, Ư¼öº¯¼ö

if ($sentence =~ /Á¦¸ñ/)
{
    print "¿ì¸®´Â °Ì¾ø´Â Å䲤ÀÌ´ëÇØ ¾ê±âÇÏ°í ÀÖ¾ú´Ù\n";
}

¿Í °°Àº Á¶°Ç¹®À» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, $sentence°¡ ´ÙÀ½Áß Çϳª¶ó¸é ¸Þ½ÃÁö°¡ Ãâ·ÂµÈ´Ù.

$sentence = "Á¦¸ñ: 겂¾ø´Â Å䲤ÀÌ";
$sentence = "Á¦¸ñ: ºñÅ°´Ï¿Í ¾Æ°¡¾¾";

±×·¯³ª ÀÌ ¹®ÀåÀ» Ư¼ö º¯¼ö $_¿¡ ÇÒ´çÇÑ´Ù¸é ÈξÀ »ê¶æÇØÁø´Ù. Ư¼ö º¯¼ö¸¦ »ç¿ëÇÑ´Ù¸é ÀÏÄ¡ ¿¬»êÀÚ³ª ºñÀÏÄ¡ ¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê°í ´ÙÀ½°ú °°ÀÌ °£´ÜÈ÷ ¾µ ¼ö ÀÖ´Ù.

if (/Á¦¸ñ/){
    print "¿ì¸®´Â °Ì¾ø´Â Å䲤ÀÌ´ëÇØ ¾ê±âÇÏ°í ÀÖ¾ú´Ù\n";
}

$_ º¯¼ö´Â ¸¹Àº ÆÞ ¿¬»êÀÚ¿¡´ëÇÑ ±âº» ÇÇ¿¬»êÀÚÀ̸ç, ¾ÆÁÖ ÀÚÁÖ »ç¿ëµÈ´Ù. RE Ãß°¡

Á¤±Ô½Ä¿¡´Â ¸¹Àº Ư¼ö¹®ÀÚ°¡ ÀÖÀ¸¸ç, À̵é·ÎÀÎÇØ Á¤±Ô½ÄÀº º¸´Ù °­·ÂÇØÁöÁö¸¸ ´Ù¼Ò º¹ÀâÇØÁö´Â °æÇâÀÌ ÀÖ´Ù. µû¶ó¼­ Á¤±Ô½ÄÀº ÁÖÀDZí°Ô »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ´ÙÀ½Àº Ư¼ö Á¤±Ô½Ä ¹®ÀÚ¿Í À̵éÀÇ ÀǹÌÀÌ´Ù.

.    # °³Ç๮ÀÚ¸¦ Á¦¿ÜÇÑ ÀÓÀÇÀÇ Çѹ®ÀÚ
^    # ÇàÀ̳ª ¹®ÀÚ¿­ÀÇ ½ÃÀÛ
$    # ÇàÀ̳ª ¹®ÀÚ¿­ÀÇ ³¡
*    # ¿µ°³ ÀÌ»óÀÇ ¸¶Áö¸· ¹®ÀÚ
+    # ÇÑ°³ ÀÌ»óÀÇ ¸¶Áö¸· ¹®ÀÚ
?    # ¿µ ¶Ç´Â ÇÑ°³ÀÇ ¸¶Áö¸· ¹®ÀÚ

´ÙÀ½Àº Á¤±Ô½ÄÀÇ ¸î¸î ¿¹ÀÌ´Ù. Á¤±Ô½ÄÀ» »ç¿ëÇϱâÀ§ÇØ /.../·Î °¨½Õ´Ù´Â °ÍÀ» ±â¾ïÇϱ⠹ٶõ´Ù.

t.e	# t¿¡ À̾î ÀÓÀÇÀÇ ¹®ÀÚ°¡ ³ª¿À°í e°¡ ³ª¿À¹È ÆÐÅÏ
	# ÀÌ °ÍÀº 
	#                 the
	#                 tie
	# ´Â ÀÏÄ¡ÇÏÁö¸¸ 
	#         tale
	# ´Â ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù.    
^f	# f·Î ½ÃÀÛÇÏ´Â Çà
^ftp	# ftp·Î ½ÃÀÛÇÏ´Â Çà
e$	# e·Î ³¡³ª´Â Çà
tle$	# tle·Î ³¡³ª´Â Çà
und*	# un¿¡ ÀÌ¾î ¿µ°³ ÀÌ»óÀÇ d ¹®ÀÚ
	# ÀÌ °ÍÀº
	#                 und
	#                 undd
	#                 unddd (etc)
	# ¸¦ ÀÏÄ¡½ÃŲ´Ù.
.*	# °³Ç๮ÀÚ¸¦ Á¦¿ÜÇÑ ÀÓÀÇ °³¼öÀÇ ¸ðµç ¹®ÀÚ.
	# .´Â °³Ç๮ÀÚ¸¦ Á¦¿ÜÇÑ ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ÀÏÄ¡½ÃÅ°¸ç
	# *´Â ¾Õ¹®ÀÚ¸¦ ¿µ°³ ÀÌ»ó ÀÏÄ¡½ÃŲ´Ù.
^$	# ºóÁÙ

ÀÌ °ÍÀÌ¿Ü¿¡ ´õ ¸¹Àº ¿É¼ÇÀÌ ÀÖ´Ù. ´ë°ýÈ£´Â ´ë°ýÈ£³»ÀÇ ÀÓÀÇÀÇ ÇÑ ¹®ÀÚ¸¦ ÀÏÄ¡Çϴµ¥ »ç¿ëµÈ´Ù. ´ë°ýÈ£ ³»¿¡¼­ -´Â °ª°ú °ªÀÇ »çÀ̸¦ ÀǹÌÇϸç ^·Î ½ÃÀÛÇÏ¸é ºÎÁ¤À» ÀǹÌÇÑ´Ù.

[qjk]		# q ¶Ç´Â j ¶Ç´Â k
[^qjk]		# q ¶Ç´Â j ¶Ç´Â k°¡ ¾Æ´Ñ
[a-z]		# aºÎÅÍ z±îÁö
[^a-z]		# ¼Ò¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ
[a-zA-Z]	# ¿µ¹® ´ë¼Ò¹®ÀÚ
[a-z]+		# ÇÑ°³ ÀÌ»óÀÇ ¼Ò¹®ÀÚ

ÀÌ ½ÃÁ¡¿¡¼­ ³¡À¸·Î °Ç³Ê ¶Ù¾îµµ ´ëºÎºÐÀÇ ¿¬½ÀÀ» ÇÒ ¼ö ÀÖ´Ù. ³ª¸ÓÁö´Â ´ëºÎºÐ ÂüÁ¶¸¦ À§ÇÑ °ÍÀÌ´Ù.

¼öÁ÷¸·´ë |´Â "¶Ç´Â"À» Ç¥ÇöÇϸç, µÕ±Ù°ýÈ£ (...)´Â ÆÐÅÏÀ» ¹­´Âµ¥ »ç¿ëµÈ´Ù:

jelly|cream	# jelly ¶Ç´Â cream
(eg|le)gs	# eggs³ª legs
(da)+		# da³ª dada³ª dadadaµî...

´ÙÀ½ Ãß°¡ÀûÀΠƯ¼ö¹®ÀÚµéÀÌ´Ù.

\n		# °³Ç๮ÀÚ
\t		# ÅÇ
\w		# ÀÓÀÇÀÇ ¿µ¹®ÀÚ¿Í ¼ýÀÚ
		# [a-zA-Z0-9_]¿Í °°´Ù.
\W		# ¿µ¹®ÀÚ¿Í ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ
		# [^a-zA-Z0-9_]¿Í °°´Ù.
\d		# ÀÓÀÇÀÇ ¼ýÀÚ. [0-9]¿Í °°´Ù.
\D		# ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ. [^0-9]¿Í °°´Ù.
\s		# °ø¹é¹®ÀÚ: °ø¹é, ÅÇ, °³Ç๮ÀÚµî
\S		# °ø¹éÀÌ ¾Æ´Ñ ¹®ÀÚ
\b		# ´Ü¾îÀÇ °æ°è, []¿¡¼­´Â »ç¿ëÇÏÁö ¸øÇÑ´Ù.
\B		# ´Ü¾î

$, |, [, ), \, /µî°ú °°Àº ¹®ÀÚ´Â ºÐ¸íÈ÷ Á¤±Ô½Ä¿¡¼­ °íÀ¯ÇÑ Àǹ̸¦ °®´Â´Ù. ¸¸¾à ÀÌµé ¹®ÀÚÁß Çϳª¸¦ ÀÏÄ¡½ÃÅ°·Á¸é ÀÌµé ¹®ÀÚ¾Õ¿¡ ¿ª½½·¡½¬¸¦ µÎ¾î¾ß ÇÑ´Ù.

\|        # ¼öÁ÷¸·´ë
\[        # ÁÂÃø ´ë°ýÈ£
\)        # ¿ìÃø µÕ±Ù°ýÈ£
\*        # º°Ç¥
\^        # ^ ±âÈ£
\/        # ½½·¡½¬
\        # ¿ª½½·¡½¬
Á¤±Ô½ÄÀÇ ¿¹

¾Õ¼­ ¾ð±ÞÇÑ °Íó·³ Á¤±Ô½ÄÀ» »ç¿ëÇϴµ¥ ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù. ¿©±â ¸î¸î ¿¹°¡ ÀÖ´Ù. ÀÏÄ¡¿¡¼­ À̵éÀ» »ç¿ëÇϱâÀ§ÇØ /.../·Î °¨½Î¾ß ÇÑ´Ù´Â °ÍÀ» ±â¾ïÇϱ⠹ٶõ´Ù.

		[01]		# "0" ¶Ç´Â "1"
\/0		# ¿µÀ¸·Î ³ª´©±â: "/0"
\/ 0		# ¿µÀ¸·Î ³ª´©±â(°ø¹éÆ÷ÇÔ): "/ 0"
\/\s0		# ¿µÀ¸·Î ³ª´©±â(°ø¹é¹®ÀÚ Æ÷ÇÔ):
        	# "/ 0". ¿©±â¼­ °ø¹éÀº ÅǵîÀÏ ¼ö ÀÖ´Ù.
\/ *0		# ¿µÀ¸·Î ³ª´©±â(ÇÑ°³ÀÌ»óÀÇ °ø¹é Æ÷ÇÔ)
        	#"/0" ¶Ç´Â "/ 0" ¶Ç´Â "/  0" µî.
\/\s*0		# ¿µÀ¸·Î ³ª´©±â(ÇÑ°³ ÀÌ»óÀÇ °ø¹é¹®ÀÚ Æ÷ÇÔ
\/\s*0\.0*	# ÀÌÀü ¿¹¿Í ¸¶Âù°¡Áö ÀÌÁö¸¸ ¼Ò¼öÁ¡À» Æ÷ÇÔÇÑ´Ù.
		# ±×¸®°í ¼Ò¼öÁ¡ µÚ¿¡ ¸î°³ÀÇ "0"ÀÌ À̾îÁú ¼ö ÀÖ´Ù.
		# "/0.", "/0.0", "/0.00"µî°ú 
		# "/ 0.", "/  0.0", "/   0.00"µîÀÌ Æ÷ÇԵȴÙ.
¿¬½À - ¹æ¸í·Ï

Áö±Ý ±îÁö´Â ¹æ¸í·ÏÀÇ µ¥ÀÌÅÍ°¡ µÞ ºÎºÐ¿¡ Ãß°¡µÇ¾ú´Ù. ÀÌÁ¦´Â µÞ ºÎºÐ¿¡ Ãß°¡µÈ ¹æ¸í·ÏÀ» ¾ÕºÎºÎ¿¡ Ãß°¡Çϵµ·Ï guest.cgi¸¦ º¯°æÇϵµ·Ï ÇÏÀÚ. guestbook.html

»ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹æ¸í·Ï ¾ÕºÎºÐ¿¡ Ãß°¡ÇϱâÀ§Çؼ­ ´ÙÀ½°ú °°ÀÌ guestbook.html ÆÄÀÏÀ» º¯°æÇØ¾ß ÇÑ´Ù.

<html>
<head>
<title>¹æ¸í·Ï</title>
</head>
<body>
<h1>¹æ¸í·Ï</h1>
<!--begin-->
</body>
</html>
guest.cgi

if($FORM{name} ne '' && $FORM{comment} ne '') {
	# ¹æ¸í·Ï ÆÄÀÏÀ» Àоî @line¿¡ ÀúÀåÇÑ´Ù.
	open(F, "$guestreal");
	@line = <F>;
	close(F);

	# @line¿¡ ¹æ¸í·Ï µ¥ÀÌÅÍ°¡ ÀúÀåµÇ¾î ÀÖÀ¸¹Ç·Î ¹æ¸í·Ï ÆÄÀÏÀ» »ý¼º ¸ðµå·Î 
	# ¿¬´Ù.
	open(F, ">$guestreal");
	for(0..$#line) {
		if($line[$_] =~ /<!--begin-->/) {
		# °Ë»öÇÑ ¹®ÀåÁß¿¡ <!--begin-->ÀÌ ÀÖÀ¸¸é ÀÌ ÇàÀº 
		# <!--begin-->°ú »ç¿ëÀÚ ÀÔ·ÂÀ¸·Î ´ëÄ¡µÈ´Ù.
			print F "<!--begin-->\n";
			&save_guestbook;
		}else { 
		# °Ë»öÇÑ ¹®ÀåÁß¿¡ <!--begin-->ÀÌ ¾øÀ¸¸é ÀÌ ÇàÀº ¿ø·¡ÀÇ ÇàÀÌ 
		# ÀúÀåµÈ´Ù.
			print F $line[$_];
		}
	}
	close(F);
	print "location: $guesturl\n\n";
}else {
	print "content-type: text/html\n\n";
	&guest_form;
}
µ¿ÀÛ¿ø¸®

À§ÀÇ if¹®Àº <!--begin-->À̶ó´Â ¹®ÀÚ¿­À» °Ë»öÇؼ­ <!--begin-->À̶ó´Â ¹®ÀÚ¿­ÀÌ °Ë»öµÇ´Â °æ¿ì¿¡´Â ´ÙÀ½ ±×¸²Ã³·³ <!--begin-->À» <!--begin-->°ú »ç¿ëÀÚÀÇ°ßÀ¸·Î ´ëÄ¡ÇϰԵȴÙ. <!--begin-->ÀÌ °Ë»öµÇÁö ¾Ê´Â °æ¿ì¿¡´Â ¿ø·¡ÀÇ ¹®ÀåÀ» ±×´ë·Î ÀúÀåÇϹǷΠ»ç¿ëÀÚÀÇ ÀÇ°ßÀ» ¾ÕºÎºÐ¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.

<!--begin-->À» Ãâ·ÂÇÒ ¶§ »ç¿ëÀÚÀÇ ÀÇ°ßÀ» ¸ÕÀú Ãâ·ÂÇÏ°í <!--begin-->À» Ãâ·ÂÇÏ¸é »ç¿ëÀÚÀÇ ÀÇ°ßÀº µÞºÎºÐ¿¡ Ãß°¡µÈ´Ù.



´ÙÀ½±Û: Á¦ 18°­ - ´ëÄ¡¿Í º¯È¯ (9132)1996-04-18
ÀÌÀü±Û: Á¦ 16°­ - Á¶°Ç¹® (8536)1996-04-16

¼¼»ó»ç´Â À̾߱â



RSS ±¸µ¶ (À͸í | ȸ¿ø | °­Á | Æ÷·³)
(C) 1996 ~ 2017 QAOS.com All rights reserved.