문자를 검색하고 대체하고 추출하는 방식을 제공하는 다양한 환경에서 사용할 수 있는 기능입니다.
간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능들을 정규식 패턴으로 빠르게 수행할 수 있습니다.
정규표현식은 크게 아래와 같은 역할을 수행합니다.
1. 문자 검색(search)
2. 문자 대체(replace)
3. 문자 추출(extract)
https://regex101.com/
https://regexr.com/
https://regexper.com/
JavaScript
를 통해 정규표현식을 생성하는 방법은 크게 두 가지가 있습니다. Literal
) 방식입니다.3.1 생성자 방식
new RegExp('표현', '옵션') new RegExp('[a-z]', 'gi') // [a-z]: a-z까지의 영어 소문자를 검색하는 패턴 // gi: g는 일치하는 모든 내용을 검색, i는 대문자와 소문자 구별을 하지 않음을 의미하는 옵션
new
키워드를 통해 생성된 정규표현식이 생성자 방식이며 이렇게 생성된 결과를 특정한 변수에 받아서 활용할 수 있습니다.- 첫 번째 인수로는 '표현의 패턴' 그리고 두 번째 인수로는 '패턴을 어떠한 방식으로 검색할 것인지에 대한 옵션'을 추가할 수 있습니다.
3.2 리터럴(Literal) 방식
/표현/옵션 /[a-z]/gi // [a-z]: a-z까지의 영어 소문자를 검색하는 패턴 // gi: g는 일치하는 모든 내용을 검색, i는 대문자와 소문자 구별을 하지 않음을 의미하는 옵션
- 생성자 방식과 동일하게 작동하는 리터럴 방식입니다.
- 생성자 방식보다 간단한 방식으로 작성되므로 이 방식이 사용 빈도가 높습니다.
3-3 사용 예제
const str = ` 010-1234-5678 the7632@gmail.com https://www.omdbapi.com/?apikey=7035c60c&s=frozen The quick brown fox jumps over the lazy dog. abbcccdddd ` const regexp1 = new RegExp('the', '') // 일치하는 첫 번쨰 내용을 검색 console.log(str.match(regexp1)) // 0: "the" const regexp1 = new RegExp('the', 'g') // 일치하는 모든 내용을 검색 console.log(str.match(regexp1)) // (2) ["the", "the"] const regexp2 = new RegExp('the', 'gi') // 일치하는 모든 내용을 검색하되 대문자, 소문자 구별 안함 console.log(str.match(regexp2)) // (3) ["the", "The", "the"] const regexp3 = /the/gi // 리터럴 방식으로 정규식 생성 console.log(str.match(regexp3)) // (3) ["the", "The", "the"]