[JS] 모듈 & 정규 표현식

sireal·2024년 2월 15일
0

Frontend

목록 보기
11/15

모듈

  • js 파일들끼리 데이터를 내보내기와 가져오기를 하는 방법
  • export, import
  • <script type = 'module' ..>

정규 표현식

정의

  • 문자열에서 특정 문자 조합을 찾기 위한 패턴

용도

  • 문자 검색 (search)
  • 문자 대체 (replace)
  • 문자 추출 (extract)

사용법

  • 객체 생성
    new RegExp('패턴 표현식', '플래그');

    • 플래그
      • g : 모든 문자와 일치 (global)
      • i : 영어 대소문자 구별하지 않고 일지 (ignore case)
      • m : 여러 줄 일치 (multi), 각각의 줄을 시작과 끝으로 인식
  • 리터럴 방식

    • /패턴표현식/플래그

API

  • 정규식.test(문자열) : 일치 여부 확인
  • 문자열.match(정규식) : 일치하는 문자의 배열을 반환
  • 문자열.replace(정규식, 대체문자) : 일치하는 문자를 대체문자로 변경

패턴 표현식

  • ^임의의 문자 : 줄(line) 시작에 있는 임의의 문자와 일치

ex)
^ab : abcdefg


  • 임의의 문자$ : 줄(line) 끝에 있는 임의의 문자와 일치

ex)
ab$ : gefdab


  • . : 임의의 한 문자와 일치

ex)
a.b : .은 한 글자를 대체하므로 aab, abb, acb, adb 등이 가능


  • 문자 1 | 문자 2 : 문자 1 또는 문자 2 와 일치

ex)
a | b : a 또는 b와 일치


  • 문자1문자2? : 문자2가 없거나 문자2와 일치

ex)
ab? : b가 없거나 b와 일치


  • {n} : n 만큼 연속 일치

ex)
`a{3} : a가 3번 연속되는 aaa를 찾기


  • {n,}: n 개 이상 연속 일치

ex)
a{3,} : a, aa, aaa, aaaa, ...


  • {n, m} : n개 이상 m개 이하 연속 일치

ex)
a{3,5} : aaa, aaaa, aaaaa


    • : 1회 이상 연속 일치

ex)
a+ : a, aa, aaa, ...
--> {1,} 과 결과 동일


    • : 0회 이상 연속 일치

ex)
a* : ' ', a, aa, aaa, ...


  • [문자1,문자2] : 문자1 또는 문자 2

ex)
강[남북]구 : '강'과 '구'사이에 '남' 또는 '북'이 옴


  • [a-z] : a부터 z사이의 문자 구간에 일치 (영어 소문자)

  • [A-Z] : a부터 Z사이의 문자 구간에 일치 (영어 대문자)

  • [0-9] : 0부터 9사이의 문자 구간에 일치 (숫자)

  • [가-힣] : 한글 처음(가)부터 끝(힣) 까지 문자구간에 일치 (한글)

  • [a-zA-Z] : 알파벳 처음부터 끝까지

  • [^ab] : ab를 제외한 모든 문자 구간에 일치

  • \w : word (63개의 문자 : 대소문자 52개 + 숫자 10개 + _ ) 에 일치

  • \b : \w 에 해당하지 않는 나머지 문자에 일치

  • \d : digit (숫자) 에 일치

  • \s : space, tab 등에 일치

  • \S : \s 에 해당하지 않는 나머지 문자에 일치

  • (?:) : 그룹지정

  • (?=) : 앞쪽 일치

  • (?<=) 뒤쪽 일치

0개의 댓글