
- 정규식 표현
- 정규식 생성
- 메소드
- 플래그
- 패턴
정규표현식이란 문자열을 검색하고 대체하는 데 사용 가능한 일종의 형식 언어(패턴)이다. 간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능 등을 정규식 패턴으로 빠르게 수행할 수 있습니다. 단 정규식 패턴이 수행 내용과 매치가 잘 안 되어 가독성이 많이 떨어지기 때문에 어렵게 느끼는 사람이 종종 있다.
정규표현식 기능
- 문자 검색
- 문자 대체
- 문자 추출
정규식 생성 방법
1. 생성자 함수 방식
2. 리터럴 방식
//생성자 함수 방식
const regexp1 = new RegExp("^abc"); // new RegExp (표현식)
const regexp2 = new RegExp("^abc", "gi");
//리터럴 방식
const regexp1 = /^abc/; // /표현식/
const regexp2 = /^abc/gi; // /표현식/플래그
여기서 gi는 모두 검색한다는 의미(g)와 대소문자 구분 안 하겠다는 의미(i)를 뜻한다.
참고) 코드 상에서 줄바꿈을 하면서 코드를 작성하고 싶으면 따옴표 대신에 백틱(`) 기호를 사용하면 된다.
const str = `
010-1234-1234
songww1997@naver.com
the Fighting
https://www.naver.com
No pains No gains
the game
`;
const regexp = new RegExp('the', 'gi');
const regexp = /the/gi ;
console.log(str.match(regexp));
test: 일치 여부(Boolean) 반환
정규식.test(문자열)
match: 일치하는 문자열의 배열(Array) 반환
문자열.match(정규식)
replace: 일치하는 문자열을 대체하고 대체된 문자열(String) 반환
문자열.replace(정규식,대체문자)
| 플래그 | 설명 |
|---|---|
| g | 모든 문자 일치(global) |
| i | 영어 대소문자를 구분 않고 일치(ignore case) |
| m | 여러 줄 일치(multi line), 줄바꿈 인식 |