[TIL / JavaScript] 정규 표현식

[JavaScript] 정규 표현식

  • 정규 표현식(Regular Expression: Regex)은 특정 패턴의 문자열을 찾기 위한 표현 방식이다.
  • 복잡한 코드도 매우 간단하게 표현할 수 있지만 정규 표현식은 주석이나 공백을 허용하지 않고 여러가지 기호를 혼합하여 사용하기 때문에 가독성이 좋지 않다.

형식


/패턴/플래그
  • 슬래시(/) 사이에는 매칭 시킬 패턴을 써준다.
  • 슬래시(/) 뒤에는 옵션을 설정하는 플래그를 써준다.

매칭 패턴


  • 쉽게 문자, 숫자, 기호를 표현할 수 있다.

검색 패턴


수량 패턴


  • 패턴이 몇 번 반복되는지 필터링할 수 있다.

플래그


  • 동시에 여러 개 사용할 수 있다.

메소드


정규 표현식의 활용


전화번호

const text = `대나무 빨대 구입 문의 : http://dogumaster.com http://google.com
010-1111-2222 02-333-7777 [email protected]`;

text.match(/\d{2,3}-\d{3,4}-\d{4}/g);
// [ '010-1111-2222', '02-333-7777' ]

/\d{2,3}-\d{3,4}-\d{4}/g

1) \d{2,3} → 숫자 2~3개로 시작한다.

2) - → 하이픈이 온다.

3) \d{3, 4} → 숫자가 3~4개 온다.

4) - → 하이픈이 온다.

5) \d{4} → 숫자가 4개 온다.

6) /g → 매칭되는 것을 모두 다 찾는다.

이메일 주소

const text = `대나무 빨대 구입 문의 : http://dogumaster.com http://google.com 
010-1111-2222 02-333-7777 [email protected]`; 

text.match(/[\w\-\.]+\@[\w\-\.]+/g); 
// [ '[email protected]' ]

/[\w-.]+\@[\w-.]+/g

1) [\w-.] → \w(영문자, 언더스코어), 하이픈, 점으로 이루어진 문자열이 한 개 이상(+) 있다.

2) \@ → @가 온다.

3) [\w-.] → \w(영문자, 언더스코어), 하이픈, 점으로 이루어진 문자열이 한 개 이상(+) 있다.

4) /g → 매칭되는 것을 모두 다 찾는다.

P.S.

정규 표현식을 살펴보니 코딩을 처음 접할 때처럼 좀 낯선 느낌이 있다😅 그래서 일단 최대한 간단하게 살펴보고 가볍게 마무리를 짓기로 했다😇 앞으로 문제를 풀면서 적용할 수 있을 것 같다는 생각이 들면 다시 한번 짚어봐야겠다.

참고 문서


좋은 웹페이지 즐겨찾기