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

OROSY·2021년 4월 9일
0

JavaScript

목록 보기
47/53
post-thumbnail

1. 패턴(표현)

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

1.1 자주 사용되는 패턴(1)

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

1.2 사용 예제(1)

const str = `
010-1234-5678
the7632@gmail.com
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를 대소문자 구분없이 찾아냄

2.1 자주 사용되는 패턴(2)

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

2.2 사용 예제(2)

const str = `
010-1234-5678
the7632@gmail.com
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와 일치

3.1 자주 사용되는 패턴(3)

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

3.2 사용 예제(3)

const str = `
010-1234-5678
the7632@gmail.com
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"]

console.log(
  str.match(/d{2,}/g)
) // 값: ["dddd"]

console.log(
  str.match(/\b\w{2,3}\b/g)   
) // 숫자나 영어 알파벳이 아닌 경계가 있는 2개 이상 3개 이하 연속 일치 검색
// 값: 8 ["010", "com", "www", "com", "The", "fox", "the", "dog"]
profile
Life is a matter of a direction not a speed.

0개의 댓글