이 글은 패스트 캠퍼스 강의 일부를 듣고 정리한 내용을 담고 있습니다.
🔨 정규 표현식 뿌시기
정규표현식은 문자열을 검색하고 추출, 대체하는데 사용하는 일종의 패턴이다.
코딩테스트 공부를 하면서 문자열을 다룰 때 정규표현식을 이용하면 매우 쉽게 풀리는 문제들을 접하게 됐고, 나를 위해 정리하자는 마음으로 강의를 듣고 정리해볼 생각이다. 매번, “이거 정규표현식을 쓰면 될 것 같은데?” 라고 생각만 하고 정작 정확한 패턴을 쓸 줄 몰라 너무 힘들었다.
정규식 생성방식
- 생성자 방식 : new RegExp(‘표현’,‘옵션’)
- 리터럴 방식 : /표현/옵션
리터럴 방식이 더 간단하지만 생성자 함수를 사용해야만 하는 경우도 있을 수 있음을 기억하자
정규식의 역할
- 문자 검색
- 문자 대체
- 문자 추출
정규식 연습
✤ 정규표현식 테스트 사이트
regex101.com/
regexr.com/
regexper.com/
✤ 특정 단어 모두 찾기 g 옵션
const str = `
010-1234-5678
theEmail@gmail.com
look at the sky
The quick brown fox
abbcccddd
`
// 1. 생성자 방식
let regexp = new RegExp("the", "")
console.log(str.match(regexp)) // ['the',...세부정보] // 결과 : 문자열 중 하나의 the에 대해서만 나온다
regexp = new RegExp("the", "g")
console.log(str.match(regexp)) // ['the','the'] // 결과 : 문자열의 모든 the를 가져온다.
// 2. 리터럴 방식
let regexp2 = /the/
console.log(str.match(regexp))
regexp2 = /the/g
console.log(str.match(regexp))
✤ 생성자 방식 | 특정 단어 대소문자 가리지 않고 모두 찾기 i 옵션
const str = `
010-1234-5678
theEmail@gmail.com
look at the sky
The quick brown fox
abbcccddd
`
// 1. 생성자 방식
let regexp = new RegExp("the", "gi")
console.log(str.match(regexp)) // ['the','the','The'] // 결과 : 대소문자 구분없이 모든 the에 대해서만 나온다
// 2. 리터럴 방식
let regexp2 = /the/gi
console.log(str.match(regexp))