ÆÞÀÇ ¾ÆÁÖ À¯¿ëÇÑ Æ¯Â¡(°¡Àå À¯¿ëÇÑ Æ¯Â¡ÀÌ ¾Æ´Ï¶ó)Áß Çϳª´Â °·ÂÇÑ ¹®ÀÚ¿ Á¶ÀÛ ´É·ÂÀÌ´Ù. ÀÌ ¹®ÀÚ¿ Á¶ÀÛÀÇ Çٽɿ¡´Â Á¤±Ô½Ä(
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"µîÀÌ Æ÷ÇԵȴÙ.
¿¬½À
ÀÌÀüÀÇ ¿¬½À¿¡¼ ºóÇàÀÌ ¾Æ´Ñ ÁÙ¸¸ ¼¼¾î Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇß´Ù. À̹ø¿¡´Â ºóÇàÀÌ ¾Æ´Ñ ÁÙÀÌ ¾Æ´Ï¶ó ´ÙÀ½°ú °°Àº ÁÙÀ» ¼¼´Â ÇÁ·Î±×·¥À¸·Î º¯°æÇ϶ó.
- ¹®ÀÚ x
- ¹®ÀÚ¿ Á¦¸ñ
- ¹®ÀÚ¿ x(x´Â ´ë¼Ò¹®ÀÚ ¸ðµÎ °¡´É)
- ´Ü¾î Á¦¸ñ(´ë¼Ò¹®ÀÚ¿¡ ¹«°ü). ´Ü¾î °æ°è¸¦ ã±âÀ§ÇØ \b¸¦ »ç¿ëÇϱ⠹ٶõ´Ù.
ÀÌ °æ¿ì¿¡ ÇÁ·Î±×·¥Àº ¸Å ÇàÀ» Ãâ·ÂÇÏÁö¸¸ ÁöÁ¤µÈ Çุ ¹øÈ£¸¦ Ãâ·ÂÇØ¾ß ÇÑ´Ù. ÀÏÄ¡ ¿¬»êÀÚ
=~ÀÇ ¸í½ÃÀû »ç¿ëÀ» ÇÇÇϱâÀ§ÇØ Æ¯¼öº¯¼ö
$_¸¦ »ç¿ëÇϱ⠹ٶõ´Ù.