1. 패턴(표현)
정규표현식에는 다양한 패턴(표현)이 있습니다. 그 패턴의 의미(기능)와 직관적으로 매칭되지 않기 때문에 외우지 않는 이상 의미를 파악할 수 없습니다. 이번에는 이러한 패턴에 대해 살펴봅시다.
1.1 자주 사용되는 패턴(1)
| 패턴 | 설명 |
|---|
| [abc] | a 또는 b 또는 c |
| [a-z] | a부터 z 사이의 문자 구간에 일치(영어 소문자) |
| [A-Z] | A부터 Z 사이의 문자 구간에 일치(영어 대문자) |
| [0-9] | 0부터 9 사이의 문자 구간에 일치(숫자) |
| [가-힣] | 가부터 힣 사이의 문자 구간에 일치(한글) |
1.2 사용 예제(1)
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(/[fox]/g))
console.log(str.match(/[0-9]/g))
console.log(str.match(/[0-9{1,}]/g))
console.log(str.match(/[가-힣{1,}]/g))
2.1 자주 사용되는 패턴(2)
| 패턴 | 설명 |
|---|
| \w | 63개 문자(Word, 대소영문52개 + 숫자 10개 + _)에 일치 |
| \b | 63개 문자에 일치하지 않는 문자 경계(Boundary) |
| \d | 숫자(Digit)에 일치 |
| \s | 공백(Space, Tab 등)에 일치 |
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
동해물과_백두산이 마르고 닳도록
`
console.log(str.match(/\w/g))
console.log(str.match(/\b/g))
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.match(/\s/g))
console.log(h.replace(/\s/g, ''))
3.1 자주 사용되는 패턴(3)
| 패턴 | 설명 |
|---|
| (?=) | 앞쪽 일치(Lookahead) |
| (?<=) | 뒤쪽 일치(Lookbehind) |
3.2 사용 예제(3)
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(/.{1,}(?=@)/g))
console.log(str.match(/(?<=@).{1,}/g))