[Level up] 정규 표현식(5) - 패턴(표현)(1)

01.패턴(표현)

  • 정규표현식에는 다양한 패턴(표현)이 있습니다.
  • 패턴의 의미(기능)와 직관적으로 매칭되지 않기 때문에 외우지 않는 이상 의미를 파악할 수 없습니다.

02.자주 사용되는 패턴(1)

패턴설명
^ab줄(Line) 시작에 있는 ab와 일치
ab$줄(Line) 끝에 있는 ab와 일치

2-1.사용 예제

const str = `
010-1234-5678
[email protected]
http://www.omdbapi.com/?apikey=2181d79b&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
`

console.log(
  str.match(/d$/gm) // ["d"] abbcccdddd에서 d 값을 찾아냄
) 

console.log(
  str.match(/^t/gim) // (2) ["t", "T"] the, The로 시작하는 문장의 t를 대소문자 구분없이 찾아냄
)  

03.자주 사용되는 패턴(2)

패턴설명
.임의의 한 문자와 일치
a|ba 또는 b와 일치
ab?b가 없거나 b와 일치

3-1.사용 예제

const str = `
010-1234-5678
[email protected]
https://www.omdbapi.com/?apikey=2181d79b&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
http://localhost:1234
hxyp
`

console.log(
  str.match(/h..p/g)
) // (3) ["http", "http", "hxyp"] ..은 임의의 문자

console.log(
  str.match(/fox|dog/g)
) // (2) ["fox", "dog"] fox 또는 dog

console.log(
  str.match(/https?/g)
) // (2) ["https", "http"] s가 없거나 s와 일치

04.자주 사용되는 패턴(3)

패턴설명
{3}3개 연속 일치
{3,}3개 이상 연속 일치
{3,5}3개 이상 5개 이하(3~5개) 연속 일치

4-1.사용 예제

const str = `
010-1234-5678
[email protected]
https://www.omdbapi.com/?apikey=2181d79b&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd
http://localhost:1234
`

console.log(
  str.match(/d{2}/g) // (2) ["dd", "dd"] => 알파벳 d 2개 연속일치 하는 부분 모든 영역에서 찾기
) 

console.log(
  str.match(/d{2,}/g) // ["dddd"] => 알파벳 d 2개 이상 연속일치 하는 부분 모든 영역에서 찾기
) 

console.log(
  str.match(/\b\w{2,3}\b/g)   
) // 숫자나 영어 알파벳이 아닌 경계가 있는 2개 이상 3개 이하 연속 일치 모든 영역에서 찾기
// 값: 8 ["010", "com", "www", "com", "The", "fox", "the", "dog"]

좋은 웹페이지 즐겨찾기