BoostCource/Front-end

[FE] 05. JavaScript Regular expression(정규표현식)

칸타탓 2018. 11. 16. 15:52

<5. JavaScript Regular expression>



* 정규표현식 (regular expression)


  • 문자열의 특정 패턴을 찾을 수 있는 문법

  • 패턴을 찾아서 추출, 삭제, 치환 등의 문자열 조작을 할 수 있다

  • 코드 양을 줄이면서 빠르게 코딩할 수 있게 해주는 문법


- 정규표현식의 유용한 사례

  • 이메일, 주소, 전화번호 규칙 검증

  • textarea에 입력된 것 중 불필요한 입력값 추출

  • 트랜스파일링 => 현재 지원되는 문법으로 변경해야 하는 경우

  • 개발 도구에서의 문자열 치환



- 정규표현식 실습
  • \(function => (function 찾기
  • (가 있거나 없거나 => \?function 처럼 ?를 넣을 수 있다
  • 공백은 s
  • 하나 이상임을 나타내고 싶을 때는 s+처럼 +를 붙여서 표현한다
  • w는 대소문자 a부터 z까지
  • 찾아서 replace하고 싶은 경우에는 (\s?)(var)(\s+[$_a-zA-Z]+)
  • $1 $2 $3 으로 구분해서 $1const$3와 같은 식으로 치환할 수 있다

 

- 간단한 사용법

  • 숫자 하나 찾기

  • 숫자 두 개 찾기


[참고] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp


* 치환

replace Method

ES6 arrow function 치환하기

 



* 탐욕적(greedy), 게으른(lazy) 수량자


뒤에서부터 찾거나, 앞에서부터 찾는다. (lazy를 써서 앞에서부터 찾도록 한다.)

greedy : *, +, {n,}


원하는 범위를 넘어서서 끝까지 찾을 수 있다. (이런 경우를 방지하기 위해 ?를 추가해 줄 수 있다.)

lazy : *?, +?, {n,}?



- 실습





















'BoostCource > Front-end' 카테고리의 다른 글

#05. FE - form 데이터 유효성 검증하기  (0) 2018.11.16
#05. FE - form 데이터 보내기  (0) 2018.11.16
[FE] 05. 생성자패턴으로 TabUI 만들기  (0) 2018.10.01
[FE] 05. 생성자 패턴  (0) 2018.10.01
[FE] 04. 클린코드  (0) 2018.09.27