์ž์—ฐ์–ด ์ฒ˜๋ฆฌ/Today I learned :

[์ž์—ฐ์–ด ์ฒ˜๋ฆฌ]ํ•œ๊ตญ์–ด ์ „์ฒ˜๋ฆฌ re

์ฃผ์˜ ๐Ÿฑ 2023. 1. 3. 17:47
728x90
๋ฐ˜์‘ํ˜•

import re

re.sub('[0-9]+', 'num', '1 2 3 4 hello')    # ์ˆซ์ž๋งŒ ์ฐพ์•„์„œ num์œผ๋กœ ๋ฐ”๊ฟˆ
  • re.sub('ํŒจํ„ด', '๋ฐ”๊ฟ€๋ฌธ์ž์—ด', '๋ฌธ์ž์—ด', ๋ฐ”๊ฟ€ํšŸ์ˆ˜)๋กœ ๊ฐ„๋‹จํ•œ ๋ฌธ์ž์—ด ์ฐจํ™˜์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, re.complie()์„ ์“ฐ๋ฉด ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์„ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 
# ์ž„์˜์˜ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” . 
r = re.compile("a.c")
r.search("abc")

 

# ? ์•ž์˜ ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒฝ์šฐ
r = re.compile("a?c")
# * ์€ ๋ฐ”๋กœ ์•ž์˜ ๋ฌธ์ž๊ฐ€ 0๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ๋ฅผ ๋‚˜ํƒ€๋ƒ„.
r = re.compile("ab*c") # b ๊ฐ€ ํ•˜๋‚˜๋„ ์—†๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ''


# + ์•ž์˜ ๋ฌธ์ž๊ฐ€ ์ตœ์†Œ 1๊ฐœ ์ด์ƒ ์žˆ์–ด์•ผ ํ•จ. 
r = re.compile("ab+c")

# ^ ์‹œ์ž‘๋˜๋Š” ๊ธ€์ž๋ฅผ ์ง€์ •ํ•จ. 
r = re.compile("^a")

# ์•ž ๋ฌธ์ž๋ฅผ ํ•ด๋‹น ์ˆซ์ž๋งŒํผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•จ.
r = re.compile("ab{2}c")

# ์•ž ๋ฌธ์ž๋ฅผ ์ˆซ์ž1 ์ด์ƒ ์ˆซ์ž2 ์ดํ•˜ ๋งŒํผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•จ.
r = re.compile("ab{2,8}c")

# ์•ž ๋ฌธ์ž๋ฅผ ์ˆซ์ž ์ด์ƒ ๋งŒํผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•จ.
r = re.compile("a{2,}bc")

# [] ์•ˆ์— ์žˆ๋Š” ๋ฌธ์ž๋“ค ์ค‘ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์™€ ๋งค์น˜
# ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Œ. ์˜ˆ) a-z, A-Z, 0-9
r = re.compile('[abc]')

# ^๊ธฐํ˜ธ ๋’ค์— ๋ถ™์€ ๋ฌธ์ž๋“ค์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋งค์น˜ํ•จ.
r = re.compile("[^abc]") # abc ์ œ์™ธ ๋ชจ๋“  ๋ฌธ์ž
๋ฐ˜์‘ํ˜•