[Level up] 정규 표현식(6) - 패턴(표현)(2)
01.패턴(표현)
- 정규표현식에는 다양한 패턴(표현)이 있습니다.
- 그 패턴의 의미(기능)와 직관적으로 매칭되지 않기 때문에 외우지 않는 이상 의미를 파악할 수 없습니다.
02.자주 사용되는 패턴(1)
패턴 | 설명 |
---|---|
[abc] | a 또는 b 또는 c |
[a-z] | a부터 z 사이의 문자 구간에 일치(영어 소문자) |
[A-Z] | A부터 Z 사이의 문자 구간에 일치(영어 대문자) |
[0-9] | 0부터 9 사이의 문자 구간에 일치(숫자) |
[가-힣] | 가부터 힣 사이의 문자 구간에 일치(한글) |
2-1.사용 예제(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(/[fox]/g)) // (14) ["o", "o"..] // 사용된 f, o, x를 모두 찾아냄 console.log(str.match(/[0-9]/g)) // 값: (25) ["0", "1"..] // 사용된 숫자를 모두 찾아냄 console.log(str.match(/[0-9{1,}]/g)) // 값: (7) ["010", "1234"..] // 사용된 숫자 중 1개 이상 연속으로 일치하는 숫자 찾아냄 console.log(str.match(/[가-힣{1,}]/g)) // 값: (4) ["동해물과", "백두산이"...] // 사용된 한글 중 1개 이상 연속으로 일치하는 한글 찾아냄
03.자주 사용되는 패턴(2)
패턴 | 설명 |
---|---|
\w | 63개 문자(Word, 대소영문52개 + 숫자 10개 + _)에 일치 |
\b | 63개 문자에 일치하지 않는 문자 경계(Boundary) |
\d | 숫자(Digit)에 일치 |
\s | 공백(Space, Tab 등)에 일치 |
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 동해물과_백두산이 마르고 닳도록 ` console.log(str.match(/\w/g)) // (127) ["0", "1"..] console.log(str.match(/\b/g)) // (54) ["", ""..] console.log(str.match(/\bf\w{1,}\b/g)) // (2) ["frozen", "fox"] // 경계 사이에 있는 f로 시작하는 1개 이상 연속으로 일치하는 63개 문자 찾아냄 // 쉽게 말해, 소문자 f로 시작하는 영어 문자를 찾아내는 방법 console.log(str.match(/\d{1,}/g)) // (7) ["010", "1234"..] // 사용된 숫자 중 1개 이상 연속으로 일치하는 숫자 찾아냄 console.log(str.match(/\s/g)) // (19) ["↵", "↵", " "..] // 공백에 일치하는 값 찾아냄 const h = ` the hello world ! ` console.log(h.match(/\s/g)) // (9) [" ", " "..] console.log(h.replace(/\s/g, '')) // thehelloworld! // 공백이 있는 값을 모두 지우는 방법
04.자주 사용되는 패턴(3)
패턴 | 설명 |
---|---|
(?=) | 앞쪽 일치(Lookahead) |
(?<=) | 뒤쪽 일치(Lookbehind) |
4-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(/.{1,}(?=@)/g)) // 값: ["the7632"] // @ 앞쪽으로 일치하는 1개 이상의 임의의 문자 찾아냄 console.log(str.match(/(?<=@).{1,}/g)) // 값: ["gmail.com"] // @ 뒤쪽으로 일치하는 1개 이상의 임의의 문자 찾아냄
Author And Source
이 문제에 관하여([Level up] 정규 표현식(6) - 패턴(표현)(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wlsdnjs156/Level-up-정규-표현식6-패턴표현2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)