Web/HTML CSS JS

[JS] ์ •๊ทœํ‘œํ˜„์‹ RegExp / ์ •๊ทœ์‹

say! 2022. 10. 4. 11:50
728x90

๐ŸŸก ์ •๊ทœํ‘œํ˜„์‹ RegExp = ์ •๊ทœ์‹

- ์ •๊ทœํ‘œํ˜„์‹ ํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

-์—ญํ• 

๋ฌธ์ž ๊ฒ€์ƒ‰ search

๋ฌธ์ž ๋Œ€์ฒด replace

๋ฌธ์ž ์ถ”์ถœ extract

 

๐Ÿ”ต ์ •๊ทœ์‹ ์ƒ์„ฑ

- ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ๋ฐฉ์‹

new RegExp('ํ‘œํ˜„', '์˜ต์…˜')
new RegExp('[a-z]', 'gi')

 

- ๋ฆฌํ„ฐ๋Ÿด(Literal) ๋ฐฉ์‹

์ƒ์„ฑ์ž ํ•จ์ˆ˜ ๋ฐฉ์‹๋ณด๋‹ค ํŽธํ•จ

/ํ‘œํ˜„/์˜ต์…˜
/[a-z]/gi

 

๐Ÿ”ต ๋ฉ”์†Œ๋“œ

๋ฉ”์†Œ๋“œ ๋ฌธ๋ฒ• ์„ค๋ช…
test ์ •๊ทœ์‹.test(๋ฌธ์ž์—ด) ์ผ์น˜ ์—ฌ๋ถ€(Boolean) ๋ฐ˜ํ™˜
match ๋ฌธ์ž์—ด.match(์ •๊ทœ์‹) ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž์˜ ๋ฐฐ์—ด(Array) ๋ฐ˜ํ™˜
replace ๋ฌธ์ž์—ด.replace(์ •๊ทœ์‹, ๋Œ€์ฒด๋ฌธ์ž) ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋Œ€์ฒด

 

๐Ÿ”ต ํ”Œ๋ž˜๊ทธ (์˜ต์…˜)

ํ”Œ๋ž˜๊ทธ ์„ค๋ช…
g ๋ชจ๋“  ๋ฌธ์ž ์ผ์น˜ (global)
i ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์ผ์น˜ (ignore case)
m ์—ฌ๋Ÿฌ ์ค„ ์ผ์น˜ (multi line)

 

๐Ÿ”ต ํŒจํ„ด (ํ‘œํ˜„)

ํŒจํ„ด ์„ค๋ช…
^ab ์ค„(Line) ์‹œ์ž‘์— ์žˆ๋Š” ab์™€ ์ผ์น˜
ab$ ์ค„(Line) ๋์— ์žˆ๋Š” ab์™€ ์ผ์น˜
. ์ž„์˜์˜ ํ•œ ๋ฌธ์ž(๋„์–ด์“ฐ๊ธฐ, ํŠน์ˆ˜๋ฌธ์ž ํฌํ•จ)์™€ ์ผ์น˜
a|b a ๋˜๋Š” b์™€ ์ผ์น˜
ab? b๊ฐ€ ์—†๊ฑฐ๋‚˜ b์™€ ์ผ์น˜
{3} 3๊ฐœ ์—ฐ์† ์ผ์น˜
{3,} 3๊ฐœ ์ด์ƒ ์—ฐ์† ์ผ์น˜
{3,5} 3๊ฐœ ์ด์ƒ 5๊ฐœ ์ดํ•˜(3~5๊ฐœ) ์—ฐ์† ์ผ์น˜
[abc] a ๋˜๋Š” b ๋˜๋Š” c
[a-z] a๋ถ€ํ„ฐ z์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(์˜์–ด ์†Œ๋ฌธ์ž)
[A-Z] A๋ถ€ํ„ฐ Z์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(์˜์–ด ๋Œ€๋ฌธ์ž)
[0-9] 0๋ถ€ํ„ฐ 9์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(์ˆซ์ž)
[๊ฐ€-ํžฃ] ๊ฐ€๋ถ€ํ„ฐ ํžฃ ์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(ํ•œ๊ธ€)
\w 63๊ฐœ ๋ฌธ์ž(Word, ๋Œ€์†Œ์˜๋ฌธ52๊ฐœ + ์ˆซ์ž10๊ฐœ + _)์— ์ผ์น˜
\b 63๊ฐœ ๋ฌธ์ž์— ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ž ๊ฒฝ๊ณ„(Boundary) (ํŠน์ˆ˜๋ฌธ์ž ๊ฐ™์€๊ฑฐ)
\d ์ˆซ์ž(Digit)์— ์ผ์น˜
\s ๊ณต๋ฐฑ(Space, Tab ๋“ฑ)์— ์ผ์น˜
(?=) ์•ž์ชฝ ์ผ์น˜(Lookahead)
(?<=) ๋’ค์ชฝ ์ผ์น˜(Lookbehind)