본문 바로가기
프론트엔드/JavaScript

정규표현식 - 패턴(표현)

by step 1 2021. 6. 7.
반응형

패턴(표현)

 

패턴설명

^ab 줄 (Line) 시작에 있는 ab와 일치
ab$ 줄 (Line) 끝에 있는 ab와 일치
. 임의의 한 문자와 일치
a|b a 또는 b와 일치
ab? b가 없거나 b와 일치
{3} 3개 연속 일치
{3,} 3개 이상 연속 일치
{3,5} 3개 이상 5개 이하(3~5개) 연속 일치
[abc] a 또는 b 또는 c
[a-z] a 부터 z 사이의 문자 구간에 일치 (영어 소문자)
[A-Z] A 부터 Z 사이의 문자 구간에 일치 (영어 대문자)
[0-9] 0 부터 9 사이의 문자 구간에 일치 (숫자)
[가-힣] 가부터 힣 사이의 문자 구간에 일치 (한글)
\w 63개 문자 (Word, 대소영문52개 + 숫자10개 + _)에 일치
\b 63개 문자에 일치하지 않는 문자 경계(Boundary)
\d 숫자(Digit)에 일치
\s 공백(Space, Tab 등)에 일치
(?=) 앞쪽 일치(Lookahead)
(?<=) 뒤쪽 일치 (Lookbehind)
// 패턴
let str = `
010-1234-5678
thesecon@gmail.com;
https://www.omdbapi.com/?apikey=7035c60c&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
http
d`

console.log(
  // d로 끝나는 부분을 찾는다.
  str.match(/d$/gm)
)

console.log(
  // t로 시작하는 부분을 찾는다.
  str.match(/^t/gm)
)

 

console.log(
  // h로 시작하고 p로 끝나는 문자를 찾는다 4자리
  str.match(/h..p/g)
)

console.log(
  // fox 또는 dog라는 값을 반환
  str.match(/fox|dog/g)
)

console.log(
  // s가 없거나 s가 있는 http로 시작하는 문자를 찾는다.
  str.match(/https?/g)
)

 

// d가 2번 반복되는 곳을 찾는다.
console.log(
  str.match(/d{2}/)
)

// d가 2번 이상 반복되는 곳을 찾는다.
console.log(
  str.match(/d{2,}/)
)

// 2글자 이상 3글자 이하인 단어 검색
// 숫자나 알파벳이 아닌 것을 구분자로 선언
console.log(
  str.match(/\b\w{2,3}\b/g)
)

// f 또는 o 또는 x 출력
console.log(
  str.match(/[fox]/g)
)

// f 또는 o 또는 x 출력 연속 되는 문자 출력
console.log(
  str.match(/[fox]{1,}/g)
)

// 0부터 9까지 연속되는 숫자 출력
console.log(
  str.match(/[0-9]{1,}/g)
)

// 모든 문자 출력
console.log(
  str.match(/\w/g)
)

// f로 시작하는 모든 영단어를 출력
console.log(
  str.match(/\bf\w{1,}\b/g)
)

// 연속된 숫자 모두 출력
console.log(
  str.match(/\d{1,}/g)
)

// 공백 문자 출력
console.log(
  str.match(/\s/g)
)

// 공백문자 활용
const h = `  the hello world !

`
//  공백문자 제거
console.log(
  h.replace(/\s/g, '')
)

// @앞쪽 일치 출력
console.log(
  str.match(/.{1,}(?=@)/g)
)
// @ 뒤쪽 일치 출력 
console.log(
  str.match(/(?<=@).{1,}/g)
)

 

반응형

'프론트엔드 > JavaScript' 카테고리의 다른 글

JQGRID 사용  (0) 2021.07.12
datepicker 사용법 총정리 및 사이트 공유  (0) 2021.07.12
정규표현식3 - 플래그(옵션)  (0) 2021.06.07
정규표현식2 - 메소드  (0) 2021.06.07
정규 표현식  (0) 2021.06.07