๊ฐœ๋…

ํŠน์ •ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์˜ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์ด๋Š” ํ˜•์‹์–ธ์–ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋ฉด ๊ฐ€์žฅ ๋งŽ์ด ๋งŒ๋‚˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด ๋ฌธ์ž์—ด์ด๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๋ฌธ์ž์—ด๋กœ ๋‚˜ํƒ€๋‚˜ ์žˆ๊ณ , ์ด๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ทœ์น™์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๊ตฌ๋™๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ํŠน์ •ํ•œ ์ •๋ณด๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋ผ๋„ ์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๊ณ  ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ˆ˜์š”๋Š” ๋Š์ž„์—†์ด ๊ณ„์†๋˜์–ด ์™”๋‹ค.

์—ญ์‚ฌ์™€ ์ข…๋ฅ˜

๊ฐœ๋ฐœ ์ƒˆ๋ฐœ์ด๋‹ค. ๋„ˆ๋ฌด ๋‹ค์–‘ํ•ด.

์ •๊ทœ ํ‘œํ˜„์‹์€ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์“ฐ์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ๋ถ„์•ผ์—์„œ ๋ฐœ์ƒํ•œ ์ •๊ทœ์‹์€ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์—ˆ๋‹ค. ๋ณดํ†ต ์ด๋Ÿฌ๋ฉด ํ•˜๋‚˜์˜ ํ†ต์ผ๋œ ํ‘œ์ค€์ด ๋‚˜์˜ฌ๋ฒ•๋„ ํ•œ๋ฐ, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

์œ ๋‹‰์Šค ๋ช…๋ น์ค„ ๋„๊ตฌ๋“ค์—์„œ ์‚ฌ์šฉํ•˜๋˜ ์ •๊ทœ ํ‘œํ˜„์‹์€ ํ›„์— POSIX ํ‘œ์ค€์— ํŽธ์ž…๋˜์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ ์ด ์‹œ๊ธฐ์˜ ํ‘œ์ค€์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง„ ํ˜•์‹์„ POSIX ์ •๊ทœ์‹์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ดํ›„์— ๋‹ค์‹œ POSIX ์ •๊ทœ์‹์€ POSIX BRE (POSIX ๊ธฐ๋ณธ ์ •๊ทœ์‹)์™€ POSIX ERE (POSIX ํ™•์žฅ ์ •๊ทœ์‹)์œผ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์ด ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. (grep์—์„œ -e ์Šค์œ„์น˜๋ฅผ ์จ์„œ ํ™•์žฅ ์ •๊ทœ์‹์„ ์“ฐ๋˜ ์˜ต์…˜์ด ๋ฐ”๋กœ ERE๋ฅผ ์“ด๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.) ๊ทธ ์™ธ์— BRE๋ฅผ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์œผ๋กœ ํ•œ vim ์ •๊ทœ์‹์ด ์žˆ๋‹ค. ์ด vim ์ •๊ทœ์‹์€ vim ํŽธ์ง‘๊ธฐ ๋‚ด์—์„œ ์ฐพ๊ธฐ/๋ฐ”๊พธ๊ธฐ ๋“ฑ์˜ ๋™์ž‘์—์„œ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋žœ ์—ญ์‚ฌ๋ฅผ ๋”ฐ๋ผ ๊ฐœ์„ ๊ณผ ํ™•์žฅ์„ ๊ฑฐ๋“ญํ•˜๋ฉด์„œ ์ด vim ์ •๊ทœ์‹ ์—ญ์‹œ POSIX ํ‘œ์ค€๊ณผ๋Š” ์ข€ ๋‹ค๋ฅธ ๊ทœ๊ฒฉ์œผ๋กœ ์ทจ๊ธ‰๋  ์ •๋„์ด๋‹ค. (์‹ฌ์ง€์–ด vim ๋‚ด์—์„œ๋„ magic ๋ชจ๋“œ, very magic ๋ชจ๋“œ๋ผ๋Š” ๊ฒƒ์ด ์žˆ์–ด์„œ ์ดํ›„์˜ ํ™•์žฅ ์ •๊ทœ์‹์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์ผ๋ถ€ punctuation ๋ฌธ์ž๋ฅผ ๋งค์นญํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค์‹œ ๊ฐˆ๋ฆฌ๊ฒŒ ๋˜๋Š” ์ง€๊ฒฝ์ด๋‹ค.)

๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š”๋ฐ ํŠนํ™”๋œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ธ ํŽ„(perl)์ด ๋“ฑ์žฅํ–ˆ๋‹ค. ํŽ„์˜ ์ •๊ทœ์‹ ์ฒด๊ณ„๋Š” ์—ญ์‹œ๋‚˜ ๊ธฐ๋ณธ์€ POSIX์™€ ๋น„์Šทํ•œ ๊ณจ๊ฒฉ์—์„œ ๋””์ž์ธ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ํ™•์žฅ์ด ๋“ค์–ด๊ฐ”๋‹ค. ํŽ„์˜ ์ •๊ทœ์‹์€ PCRE๋ผ๋Š” ๊ทœ๊ฒฉ์œผ๋กœ ์ •๋ฆฌ๋˜์—ˆ์œผ๋ฉฐ, ์ดํ›„ ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ์ด ๊ทœ๊ฒฉ์„ ์ฐจ์šฉํ•˜๊ฑฐ๋‚˜ ๊ณ„์Šนํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ โ€œ์ผ๋ถ€ ์ฐจ์šฉโ€์ด๋‹ค. ์ด ๊ทœ๊ฒฉ์€ ์›Œ๋‚™ ๋ฐฉ๋Œ€ํ•ด์„œ PCRE๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์“ฐ์ง€ ์•Š๋Š” ์ด์ƒ, ๊ตฌํ˜„ํ•  ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Reference