- °³¿ä
- °Ë»ö
- ġȯ
- ¸µÅ©
1 °³¿ä
ÆÄÀ̽ã Á¤±Ô½Ä °ü·Ã ±â´ÉÀº re ¸ðµâ¿¡ µé¾îÀÖ´Ù. ÄÄÆÄÀÏÇØ¼ »ç¿ëÇÒ ¼öµµ ÀÖ°í, ¹Ù·Î »ç¿ëÇÒ ¼öµµ Àִµ¥, ÀÚ¼¼ÇÑ °ÍÀº ÆÄÀ̽㠸Ŵº¾óÀ» Âü°í.
2 °Ë»ö
°Ë»ö¿¡´Â match, search, findall, finditer ÀÌ 4°¡Áö ÇÔ¼ö¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
match ÇÔ¼ö´Â ¹®ÀÚ¿ÀÇ Á¦ÀÏ ¾ÕÂʺÎÅÍ ÁÖ¾îÁø Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´ÂÁö¸¦ °Ë»çÇÑ´Ù. Á¤±Ô½Ä°ú ÀÏÄ¡ÇÑ´Ù¸é MatchObject¸¦ ¹ÝȯÇϰí, ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é NoneÀ» ¹ÝȯÇÑ´Ù.
match(pattern, string[, flags])
import re
print(re.match("[a-z]+", "abcd"))
print(re.match("[a-z]+", "abcd12"))
print(re.match("[a-z]+", "12abcd"))
print(re.match("[a-z]+", "1234"))
<_sre.SRE_Match object at 0x00B368E0>
<_sre.SRE_Match object at 0x00B368E0>
None
None
MatchObjectÀÇ ±â´ÉÀº ´ÙÀ½°ú °°´Ù.
| ÇÔ¼ö | ¸ñÀû |
| group(index) | Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ºÎºÐÀÇ ¹®ÀÚ¿À» ¹ÝȯÇÑ´Ù. |
| start(index) | ÀÏÄ¡ÇÏ´Â ºÎºÐÀÌ ¿ø·¡ ¹®ÀÚ¿¿¡¼ Â÷ÁöÇÏ´Â ½ÃÀÛ À妽º¸¦ ¹ÝȯÇÑ´Ù. |
| end(index) | ÀÏÄ¡ÇÏ´Â ºÎºÐÀÌ ¿ø·¡ ¹®ÀÚ¿¿¡¼ Â÷ÁöÇÏ´Â ³¡ À妽º¸¦ ¹ÝȯÇÑ´Ù. |
| span(index) | ÀÏÄ¡ÇÏ´Â ºÎºÐÀÇ ½ÃÀÛ°ú ³¡ À妽º¸¦ ¹ÝȯÇÑ´Ù. |
ÇÔ¼ö ÀÎÀÚ·Î µé¾î°¡´Â °ªÀº index °ªÀº ±×·ìÈµÈ Á¤±Ô½ÄÀÏ °æ¿ì, ÇØ´çÇÏ´Â ±×·ìÀÇ À妽º´Ù. ÁÖÁö ¾ÊÀ» °æ¿ì ±âº»°ªÀ¸·Î 0À» »ç¿ëÇÑ´Ù.
import re
m = re.match("[a-z]+", "abcd12")
print(m.group())
print(m.start(0))
print(m.end(0))
print(m.span())
abcd
0
4
(0, 4)
search ÇÔ¼ö´Â ¹®ÀÚ¿ÀÇ Ã³À½ÀÌ ¾Æ´Ï¶ó, Àüü¸¦ °Ë»çÇÑ´Ù´Â Á¡À» »©¸é match ÇÔ¼ö¿Í Å©°Ô ´Ù¸¦ °ÍÀÌ ¾ø´Ù.
search( pattern, string[, flags])
import re
m = re.search("[a-z]+", "12abcd")
print(m.group())
print(m.span())
abcd
(2, 6)
findall ÇÔ¼ö´Â Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ¸ðµç ¹®ÀÚ¿µéÀ» ã¾Æ, ±× ¹®ÀÚ¿µéÀ» ¸®½ºÆ®·Î ¹ÝȯÇÑ´Ù.
findall( pattern, string[, flags])
import re
list = re.findall("[a-z]+", "abcd12efgh")
print(list)
['abcd', 'efgh']
finditer ÇÔ¼ö´Â ¹®ÀÚ¿ ´ë½Å¿¡ MatchObjectÀÇ ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù.
finditer( pattern, string[, flags])
import re
list = re.finditer("[a-z]+", "abcd12efgh")
for match in list:
print(match.span())
(0, 4)
(6, 10)
3 ġȯ
ġȯ¿¡´Â split, sub, subn ÀÌ 3°¡Áö ÇÔ¼ö¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
split ÇÔ¼ö´Â ÁÖ¾îÁø Á¤±Ô½ÄÀ» ±âÁØÀ¸·Î ¹®ÀÚ¿À» ³ª´©¾î, ±× ¸®½ºÆ®¸¦ ¹ÝȯÇÑ´Ù. °ýÈ£¸¦ ¾²Áö ¾ÊÀ¸¸é Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ºÎºÐÀÇ ¹®ÀÚ¿Àº ³¯¾Æ°£´Ù.
split( pattern, string[, maxsplit = 0])
import re
list = re.split("[a-z]+", "abcd12efgh")
print(list)
['', '12', '']
import re
list = re.split("([a-z]+)", "abcd12efgh")
print(list)
['', 'abcd', '12', 'efgh', '']
sub ÇÔ¼ö´Â Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ºÎºÐÀÇ ¹®ÀÚ¿À» ÁÖ¾îÁø ¹®ÀÚ¿·Î ġȯÇÑ´Ù.
sub( pattern, repl, string[, count])
import re
list = re.sub("([a-z]+)", "wxyz", "abcd12efgh")
print(list)
wxyz12wxyz
subn ÇÔ¼ö´Â ¹Ýȯ°ªÀÌ ('ġȯÇÑ ¹®ÀÚ¿', ġȯ Ƚ¼ö)ÀÇ Æ©ÇÃÀ̶ó´Â Á¡¸¸ »©°í´Â, sub ÇÔ¼ö¿Í ¶È°°´Ù.
subn( pattern, repl, string[, count])
import re
list = re.subn("([a-z]+)", "wxyz", "abcd12efgh")
print(list)
('wxyz12wxyz', 2)
4 ¸µÅ©
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)