슬래시로 패턴을 감싸서 작성
const re = /ab+c/;
- 문자열을 있는 그대로 탐색할 때 사용
/abc/
패턴은 문자열에서 정확한 순서로 abc라는 문자의 조합이 나타나는 부분과 일치한다.
"Hi, do you know your abc's?
"The latest airplane designs evolved from slabcraft."
이 두 문자열에서는 일치 성공
일치하는 부분은 abc
"Grab crab"
일치 실패
문자열로 ab c
를 포함은 하는데 정확하게 abc를 포함하는건 아님!
하나 이상의 문자를 찾는다거나 공백을 찾는일에 사용 -> 직접적인 일치 이상의 탐색이 필요할때
예) "a" 이후에 0개 이상의 b, 바로 뒤에 c와 일치해야하면 /ab*c/ 사용
*
= 이전 항목의 0번 이상 반복**
매서드 | 설명 | 반환 |
---|---|---|
exec() | 문자열에서 일치하는 부분을 탐색 | 일치 없음 null |
test() | 문자열에 일치하는 부분이 있는 확인. | true/false |
match() | 모든 일치 배열을 담은 배열 반환 | 일치 없음 Null |
matchAll() | 모든 일치를 담은 반복기 반환 | x |
search() | 문자열에서 일치하는 부분 탐색 | 일치하는 부분의 인덱스, 일치없음 -1 |
replace() | 문자열에서 일치하는 부분 탐색 -> 그 부분 대체 문자열로 바꿈 | x |
replaceAll() | 문자열에서 일치하는 부분 모두 탐색 -> 모두 대체 문자열로 바꿈 | x |
split() | 정규표현식을 사용해서 문자열을 부분 문자열의 배열로 나눔 | x |
const myRe = /d(b+)d/g;
const myArray = myRe.exec("cdbbdbsbz");
플래그 | 설명 |
---|---|
d | 부분 문자열 일치에 대한 인덱스 생성 |
g | 전역탐색 |
i | 대소문자 구분 X |
m | 여러줄 탐색 |
s | = 개행문자 . |
u | 유니코드 |
y | 대상 문자열 현재 위치에서 탐색 |
re = /\w+\s/g
= 한개 이상의 글자 | 그 뒤에 공백 하나 | 문자열 전체 탐색const re = /\w+\s/g; const str = "fee fi fo fum"; const myArray = str.match(re); console.log(myArray); // ["fee ", "fi ", "fo "]
const str = "fee fi fo fum";
const re = /\w+\s/g;
console.log(re.exec(str)); // ["fee ", index: 0, input: "fee fi fo fum"]
console.log(re.exec(str)); // ["fi ", index: 4, input: "fee fi fo fum"]
console.log(re.exec(str)); // ["fo ", index: 7, input: "fee fi fo fum"]
console.log(re.exec(str)); // null
console.log(str.match(re)); // ["fee ", "fi ", "fo "]
const re = /^(?:\d{3}|\(\d{3}\))([-\/\.])\d{4}\1\d{4}$/;
1. 데이터의 시작점(^)
2. 비캡처 그룹((?:))으로, 1의 뒤를 잇는 세 개의 숫자(\d{3}), 또는(|), 여는 괄호(\()의 뒤를 잇는 세 개의 숫자(\d{3})의 뒤를 잇는 닫는 괄호(\))
3. 캡처 그룹(())으로, 2의 뒤를 잇는 하나의 대시, 슬래시, 또는 마침표
4. 3의 뒤를 잇는 네 개의 숫자(\d{4})
5. 4의 뒤를 잇는, 첫 번째 캡처 그룹에서 기억한 부분 문자열(\1)
6. 5의 뒤를 잇는 네 개의 숫자(\d{4})
7. 데이터의 끝점($)