๊ฐœ์š”

์•ž์˜ ๊ธ€์—์„œ ์šฐ๋ฆฌ๋Š” ์ปดํŒŒ์ผ ๋œ pattern ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ์—๋Š” match, search, findall, finditer๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋“ค์€ ๊ฒ€์ƒ‰์ด ๋œ ๊ฒฝ์šฐ match ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋Š” ์ด match ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ถ๊ธˆ์ฆ์„ ๊ฐ€์ง€๊ณ  ๊ฒ€์ƒ‰์„ ์ง„ํ–‰ํ–ˆ์„ ๊ฒƒ์ด๋‹ค.

  • ์–ด๋–ค ๋ฌธ์ž์—ด์ด ๋งค์น˜๋˜์—ˆ๋Š”๊ฐ€?
  • ๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋Š” ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€์ธ๊ฐ€?

์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

|method|๋ชฉ์ | |:----:|::----| |group()|๋งค์น˜๋œ ๋ฌธ์ž์—ด์„ ๋Œ๋ ค์ค€๋‹ค.| |start()|๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค.| |end()|๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ ๋ ์œ„์น˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค.| |span()|๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ (์‹œ์ž‘, ๋)์— ํ•ด๋‹นํ•˜๋Š” ํŠœํ”Œ์„ ๋Œ๋ ค์ค€๋‹ค.|

import re
p = re.compile('ab*')
m = p.match("python")

group()

๋งค์น˜๋œ ๋ฌธ์ž์—ด์„ ๋Œ๋ ค์ค€๋‹ค.

>>> m.group()
'python'

start()

๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค.

>>> m.start()
0

end()

๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ ๋ ์œ„์น˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค.

>>> m.end()
6

span()

๋งค์น˜๋œ ๋ฌธ์ž์—ด์˜ (์‹œ์ž‘, ๋)์— ํ•ด๋‹นํ•˜๋Š” ํŠœํ”Œ์„ ๋Œ๋ ค์ค€๋‹ค.

>>> m.span()
(0, 6)

์œ„ ๊ฒฝ์šฐ๋Š” match๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์ž‘ ์œ„์น˜๋Š” ํ•ญ์ƒ 0์ผ ๊ฒƒ์ด๋‹ค. ์—ผ๋‘ํ•˜์ž.

Reference