[Level up] 정규 표현식(2) - 정규식 생성
01.정규표현식
-
문자를 검색하고 대체하고 추출하는 방식을 제공하는 다양한 환경에서 사용할 수 있는 기능입니다.
-
간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능들을 정규식 패턴으로 빠르게 수행할 수 있습니다.
-
정규표현식은 크게 아래와 같은 역할을 수행합니다.
1. 문자 검색(search)
2. 문자 대체(replace)
3. 문자 추출(extract)
02.정규표현식 테스트 사이트
- 아래 사이트를 통해 정규표현식을 실제 작성하여 적용할 수 있습니다.
https://regex101.com/
https://regexr.com/
https://regexper.com/
03.JavaScript 정규식 생성
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 [email protected] 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"]
Author And Source
이 문제에 관하여([Level up] 정규 표현식(2) - 정규식 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wlsdnjs156/Level-up-정규-표현식2-정규식-생성저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)