728x90
정규표현식
문자열을 검색하고 대체하는데 사용 가능한 일종의 형식 언어다.
간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능 등을 정규식 패턴으로 빠르게 수행한다.
정규식 패턴이 수행 내용과 매치가 잘 안되어 가독성이 많이 떨어지기 때문에 어렵다.
정규표현식의 역할
- 문자 검색
- 문자 대체
- 문자 추출
정규표현식 문법
// 생성자
new RegExp('표현', '옵션')
new RegExp('[a-z], 'gi')
// 리터럴
/표현/옵션
/[a-z]/gi
정규표현식 예제
생성자 방식
const str = `
010-1234-5678
thesecong@gmail.com
https://www.omdbapi.com/?apikey=7035c60c&s=frozen
The quick brown fox jumps over the lazy dog.
abbcccdddd`
const regexp = new RegExp('the', '')
console.log(str.match(regexp))
리터럴 방식
const regexp = /the/gi
console.log(str.match(regexp))
메소드
메소드 | 문법 | 설명 |
---|---|---|
test | 정규식.test(문자열) |
일치 여부(Boolean) 반환 |
match | 문자열.match(정규식) |
일치하는 문자의 배열(Array) 반환 |
replace | 문자열.replace(정규식, 대체문자) |
일치하는 문자를 대체 |
플래그(옵션)
플래그 | 설명 |
---|---|
g | 모든 문자 일치(global) |
i | 영어 대소문자 구분 않고 일치(ignore case) |
m | 여러 줄 일치 (multi line) |
패턴(표현)
패턴 | 설명 |
---|---|
^ab | 줄(Line) 시작에 있는 ab와 일치 |
ab$ | 줄(Line) 끝에 있는 ab와 일치 |
. | 임의의 한 문자와 일치 |
a|b | a또는 b와 일치 |
ab? | b가 없거나 b와 일치 |
{3} | 3개 연속 일치 |
{3,} | 3개 이상 연속 일치 |
{3,5} | 3개 이상 5개 이하(3~5개) 연속 일치 |
[abc] | a 또는 b 또는 c |
[a-z] | a부터 z사이의 문자 구간에 일치( 영어 소문자 ) |
[A-Z] | A부터 Z사이의 문자 구간에 일치( 영어 대문자 ) |
[0-9] | 0부터 9사이의 문자 구간에 일치( 숫자 ) |
[가-힣] | 가부터 힣사이의 문자 구간에 일치( 한글 ) |
\w | 63개 문자(Word, 대소영문52개 + 숫자10개 + _)에 일치 |
\b | 63개 문자에 일치하는 않는 문자 경계(Boundary) |
\d | 숫자(Digit)에 일치 |
\s | 공백(Space, Tab 등)에 일치 |
(?=) | 뒤의 문자와 일치 |
<= | 앞의 문자와 일치 |
728x90
'FrontEnd > JavaScript' 카테고리의 다른 글
JavaScript DOM API (0) | 2022.09.18 |
---|---|
JavaScript Object Notation (0) | 2022.09.16 |
JavaScript 모듈 (0) | 2022.09.16 |
JavaScript 데이터 (0) | 2022.09.15 |
JavaScript 함수 (0) | 2022.09.13 |
댓글