정규 표현식이란?
정규 표현식은 텍스트 안에서 특정 문자나 문자의 패턴을 찾을 때 사용하는 도구입니다. 이러한 패턴은 단순한 문자 하나부터 복잡한 문자열 구조까지 다양하게 형성할 수 있습니다.
정규 표현식의 활용
정규 표현식은 문자나 문자열의 특정 패턴을 찾거나 바꾸는 작업을 수행할 때 사용됩니다. 예를 들어, 문서에서 특정 단어나 숫자를 찾는 것과 같은 작업이 가능합니다.
정규 표현식의 구조
정규 표현식은 주로 두 부분으로 이루어져 있습니다:
패턴(pattern): 찾고자 하는 문자나 문자열의 형태입니다.
수정자(modifiers): 패턴의 검색 방식을 조절하는 옵션입니다.
예시: /w3schools/i
/w3schools/: 여기서 w3schools는 찾고자 하는 패턴입니다. 이 패턴을 가진 문자나 문자열을 찾는 작업을 수행할 것입니다.
i: 이것은 수정자로, 대소문자를 구분하지 않고 검색하겠다는 의미입니다. 예를 들어, 'W3Schools'나 'w3schools'와 같은 대소문자가 섞인 모든 형태를 찾을 수 있습니다.
이 정규 표현식은 'w3schools'라는 글자를 대소문자 구분 없이 찾아내는 작업을 할 수 있도록 도와줍니다.
JavaScript와 정규 표현식 search()와 replace()
JavaScript에서는 search()와 replace()와 같은 문자열 메서드와 함께 정규 표현식을 자주 사용합니다.
search()는 패턴을 찾아 위치를 반환합니다.
replace()는 패턴을 다른 문자열로 바꿉니다.
예시
문자열에서 "W3Schools"를 찾아 위치를 반환하려면: let n = text.search("W3Schools");
대소문자를 구분하지 않고 "Microsoft"를 "W3Schools"로 바꾸려면: let result = text.replace(/microsoft/i, "W3Schools");
정규식의 강력한 기능
정규식은 단순 검색 이상의 기능을 제공합니다. 대소문자를 구분하지 않는 검색이나 전역 검색 등이 가능하며, 특정 문자나 패턴을 찾는 데 다양한 표현 방법을 제공합니다.
수정자
i: 대소문자를 구분하지 않게 검색
g: 첫 번째 일치 항목 이후에도 계속 찾기
m: 여러 줄에 걸쳐 일치 항목 찾기
패턴 표현
[abc]: 괄호 안의 문자 중 하나 찾기
[0-9]: 괄호 안의 숫자 중 하나 찾기
(x|y): x 또는 y 중 하나 찾기
특별한 의미를 가진 문자 (메타문자)
\d: 숫자 찾기
\s: 공백 문자 찾기
\b: 단어의 시작 또는 끝에서 일치 찾기
수량을 나타내는 표현 (수량자)
n+: 하나 이상의 n이 있는 문자열과 일치
n*: n이 없거나 하나 이상 있는 문자열과 일치
n?: n이 없거나 하나만 있는 문자열과 일치
JavaScript의 RegExp 객체
JavaScript에서는 RegExp 객체를 사용하여 정규식 작업을 수행할 수 있습니다.
test(): 패턴과 일치하면 true, 아니면 false 반환
exec(): 패턴과 일치하는 텍스트를 객체로 반환하거나 일치 항목이 없으면 null 반환
'JavaScript' 카테고리의 다른 글
JavaScript 스코프(scope) (0) | 2023.08.23 |
---|---|
JavaScript 오류 처리 (0) | 2023.08.23 |
JavaScript 유형 변환 이해하기 (0) | 2023.08.22 |
JavaScript typeof() 알아보기 (0) | 2023.08.22 |
JavaScript 배열, set, map에서의 forEach 사용법 (0) | 2023.08.22 |