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

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๊ทœํ‘œํ˜„์‹(Regular expressions)

by soro.k 2021. 11. 16.

 

๐Ÿ’ก ์ •๊ทœํ‘œํ˜„์‹(์ •๊ทœ์‹)์ด๋ž€?

๋ฌธ์ž์—ด์— ๋‚˜ํƒ€๋‚˜๋Š” ํŠน์ • ๋ฌธ์ž ์กฐํ•ฉ๊ณผ ๋Œ€์‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด. RegExp์˜ exec๋ฉ”์†Œ๋“œ, test๋ฉ”์†Œ๋“œ, ๊ทธ๋ฆฌ๊ณ  String์˜ match๋ฉ”์†Œ๋“œ, replace๋ฉ”์†Œ๋“œ, search๋ฉ”์†Œ๋“œ, split๋ฉ”์†Œ๋“œ์™€ ํ•จ๊ป˜ ์“ฐ์ธ๋‹ค.

 

 

๐Ÿ’ก ์ •๊ทœ์‹์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

  • ์ •๊ทœ์‹ ๋ฆฌํ„ฐ๋Ÿด(์Šฌ๋ž˜์‰ฌ๋กœ ๊ฐ์‹ธ๋Š” ํŒจํ„ด) ์‚ฌ์šฉํ•˜๊ธฐ
    var re = /ab+c/;
     
  • RegExp ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๊ธฐ
    var re = new RegExp("ab+c");

 

๐Ÿ’ก ๋ฉ”ํƒ€๋ฌธ์ž

๋ฌธ์ž ์˜๋ฏธ ์˜ˆ์ œ
\ ํŠน์ˆ˜๋ฌธ์ž ์˜ˆ์™ธ์ฒ˜๋ฆฌ(escape) naver\.com& - ์˜จ์ ์„ ์ผ๋ฐ˜ ๋ฌธ์ž๋กœ ์ทจ๊ธ‰
^ ๋ฌธ์ž์—ด ์‹œ์ž‘ ^[a-z] - ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด
$ ๋ฌธ์ž์—ด ๋ com& - com์œผ๋กœ ๋๋‚˜๋Š” ๋ฌธ์ž์—ด
. ์ž„์˜์˜ ๋ฌธ์ž ํ•˜๋‚˜ sh.on - sh์™€ on์‚ฌ์ด์˜ ์ž„์˜์˜ ๋ฌธ์ž ํ•˜๋‚˜
| OR ์—ฐ์‚ฐ  
? 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ sh?on - s์™€ on ์‚ฌ์ด์— h๋ฌธ์ž๊ฐ€ 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ ๋‚˜์˜ค๋Š” ๋ฌธ์ž์—ด
* 0๋ฒˆ ์ด์ƒ ^sh.* - sh๋กœ ์‹œ์ž‘, ์ž„์˜์˜ ๋ฌธ์ž์—ด์ด 0๊ฐœ ์ด์ƒ ๋‚˜์˜ค๋Š” ๋ฌธ์ž์—ด
+ ํด๋ž˜์Šค  
[] ํด๋ž˜์Šค  
() ์„œ๋ธŒ ํŒจํ„ด  
{} ์ˆ˜๋Ÿ‰์ž  
[^] ๋ถ€์ •    

์ž์„ธํ•œ ์˜ˆ์ œ -> https://m.blog.naver.com/PostView.naverisHttpsRedirect=true&blogId=is_king&logNo=221566914429 

 

 

๐Ÿ’ก ์ž์ฃผ ์“ฐ์ด๋Š” ํŒจํ„ด

๋ถ„๋ฅ˜ ์ •๊ทœ์‹ ํŒจํ„ด
์ˆซ์ž ^[0-9]*$
์˜๋ฌธ์ž ^[a-zA-Z]*$
ํ•œ๊ธ€ ^[๊ฐ€-ํžฃ]*$
์˜์–ด&์ˆซ์ž ^[a-zA-Z0-9]*$
๋น„๋ฐ€๋ฒˆํ˜ธ (์ˆซ์ž, ๋ฌธ์ž ํฌํ•จ์˜ 6~12์ž๋ฆฌ ์ด๋‚ด) ^[A-Za-z0-9]{6,12}$
๋น„๋ฐ€๋ฒˆํ˜ธ
(์ˆซ์ž, ๋ฌธ์ž, ํŠน์ˆ˜๋ฌธ์ž ํฌํ•จ 8~15์ž๋ฆฌ ์ด๋‚ด)
^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$
์ด๋ฉ”์ผ ^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@([a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,8}$
ํœด๋Œ€์ „ํ™” ^\\d{3}-\\d{3,4}-\\d{4}$
์ผ๋ฐ˜์ „ํ™” ^\\d{2,3}-\\d{3,4}-\\d{4}$
์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ \d{6} \- [1-4]\d{6}

 

๐Ÿšจ ์ •๊ทœ์‹ ์‚ฌ์šฉ ์‹œ ๋ฉ”ํƒ€ ๋ฌธ์ž ์ž˜ ํ™•์ธํ•˜๊ธฐ

์˜ค๋Š˜ ํŠน์ˆ˜๋ฌธ์ž ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๋‹ค๊ฐ€ ๋งˆ๋ฌด๋ฆฌ ํ•˜๋Š” ๋ฉ”ํƒ€๋ฌธ์ž๊ฐ€ '*$'์ธ ์ค„ ์•Œ๊ณ  ๊ณ„์† ๋„ฃ์—ˆ๋‹ค๊ฐ€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋„ฃ์ง€ ์•Š์•„๋„ ๊ณ„์† ํŒจ์Šค๊ฐ€ ๋˜์–ด์„œ ํ•œ์ฐธ ์• ๋ฅผ ๋จน์—ˆ๋‹ค. ๋ญ๋“ ์ง€ ์—ญํ• ์ด ์ œ๋Œ€๋กœ ๋ญ”์ง€ ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•จ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์•Œ๊ฒŒ ๋๋‹ค.

 

 

ํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ

https://regexr.com/


https://moonong.tistory.com/31

 

[Java] ์ •๊ทœํ‘œํ˜„์‹(Regular Expression) : ์ž์ฃผ ์“ฐ๋Š” ์ •๊ทœ์‹ ์ •๋ฆฌ(ํœด๋Œ€์ „ํ™”, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ)

์ •๊ทœํ‘œํ˜„์‹์€ ์“ธ ๋•Œ๋งˆ๋‹ค ํ—ท๊ฐˆ๋ ค์„œ.. ๋งค๋ฒˆ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ๋„ ์„ฑ๊ฐ€์‹œ๋‹ˆ ์ด๋ฒˆ ๊ธฐํšŒ์— ์ •๋ฆฌ๋ฅผ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผ๊ฒ ๋‹ค. ์ •๊ทœํ‘œํ˜„์‹ ์ •๋ฆฌ ํ‘œํ˜„์‹ ์„ค๋ช… ^ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ $ ๋ฌธ์ž์—ด์˜ ์ข…๋ฃŒ . ์ž„์˜์˜ ํ•œ ๋ฌธ์ž (๋ฌธ์ž

moonong.tistory.com

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions

 

์ •๊ทœ ํ‘œํ˜„์‹ - JavaScript | MDN

์ •๊ทœ ํ‘œํ˜„์‹์€ ๋ฌธ์ž์—ด์— ๋‚˜ํƒ€๋Š” ํŠน์ • ๋ฌธ์ž ์กฐํ•ฉ๊ณผ ๋Œ€์‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ, ์ •๊ทœ ํ‘œํ˜„์‹ ๋˜ํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.  ์ด ํŒจํ„ด๋“ค์€ RegExp์˜ exec ๋ฉ”์†Œ๋“œ์™€ test ๋ฉ”์†Œ๋“œ  ,

developer.mozilla.org