๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JavaScript

[JavaScript] ์ •๊ทœ ํ‘œํ˜„์‹ ์•Œ์•„๋ณด๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 8. 16.
๋ฐ˜์‘ํ˜•

์ •๊ทœ ํ‘œํ˜„์‹์ด๋ž€?

์ •๊ทœ ํ‘œํ˜„์‹(ๆญฃ่ฆ่กจ็พๅผ, Regular Expression)์€ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž ์กฐํ•ฉ์„ ์ฐพ๊ธฐ ์œ„ํ•œ ํŒจํ„ด์œผ๋กœ ํŠน์ •ํ•œ ์กฐ๊ฑด์˜ ๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์น˜ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋งค์šฐ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค.


์ •๊ทœ ํ‘œํ˜„์‹ ๊ฐ์ฒด ์ฃผ์š” ํŒจํ„ด

ํŒจํ„ด ์„ค๋ช…
abc abc ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
/abc/๋Š” 'abc'
[abc] a,b,c ์ค‘ ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
/[^abc]d/๋Š” 'ad', 'bd', 'cd'
[^abc] a,b,c๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
/[^abc]d/๋Š” 'ed', 'fd', 'gd'
[A-Z] ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž ๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
[a-z] ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
[0-9] 0~9 ๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
. ํ•˜๋‚˜์˜ ๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ '๋งˆ์นจํ‘œ' ๋ฌธ์ž ๊ทธ๋Œ€๋กœ์˜ ์˜๋ฏธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ '\.'์œผ๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
\w ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, _๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
\W ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, _๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
\d ์ˆซ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
\D ์ˆซ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
\s ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
\S ๊ณต๋ฐฑ์„ ์ œ์™ธํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
^ ํ–‰์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ์ผ์น˜ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค
$ ํ–‰์˜ ๋ ๋ฌธ์ž๊ฐ€ ์ผ์น˜ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
* * ์•ž์˜ ๋ฌธ์ž๊ฐ€ 0๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
/a*b/๋Š” 'b', 'ab', 'aab', 'aaab', 'aaa...b'
+ + ์•ž์˜ ๋ฌธ์ž๊ฐ€ 1๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
/a+b/๋Š” 'ab', 'aab', 'aaab', 'aaa...b'
? ? ์•ž์˜ ๋ฌธ์ž๊ฐ€ 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
/a?b/๋Š” 'b', 'ab'
{} /\d{3}/์€ ์ˆซ์ž 3๊ฐœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
/\d{3,5}/์€ ์ˆซ์ž 3~5๊ฐœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
/\d{3,}์€ ์ˆซ์ž 3๊ฐœ ์ด์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค./
a|b a or b๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
(abc) ๊ทธ๋ฃนํ™”๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.