23.04.25 자바스크립트 정규표현식
많이 사용되는 것은 아님..
그래도 알아두는 것이 좋다.
정규표현식
왜 사용 하는 가 ? : 특정 패턴을 가지고 있는 문자 및 숫자를 추출,및 편집하기 위해서
정규표현식을 사용하려면 패턴이 필요하다.
패턴을 주는 방법 : /패턴/
패턴을 정의하는 클래스 3가지
숫자클래스(digit)
\d : 0~9 사이의 숫자
\D : 숫자가아닌 모든 문자
공백클래스(space)
\s : 공백, 탭 줄바꿈
\S : 공백이 아닌 모든 문자
단어클래스(word)
\w : 단어에 들어가는 문자, 숫자, 언더바
\W: 단어에 들어가지 않는 모든 문자
.test : 메서드 정규식에 일치하면 참 , 일치하지 않으면 거짓
let regexp = /\d{3}/;
regexp.test("hello");
false
regexp.test("123");
true
.match : 매개변수안의 패턴이 존재하면 참, 존재하지 않으면 거짓
str.match(/ES6/);
null
str.match(/ES2023/);
['ES2023', index: 0, input: 'ES2023 is
.replace : 매개변수안의 패턴을 새로운 패턴으로 변경
str.replace(/ES2023/, "ES6");
'ES6 is powerful!'
/패턴/i : 대소문자 상관없이 같은값의 패턴을 찾아줌
문자열의 시작과 끝을 체크하는 특수문자 : ^ (캐럿)
해당 단어로 시작하는 문자를 찾을때 사용
$ : 해당 단어로 끝나는 문자를 찾을때 사용
정규표현식에서 반복적인 검색을 할 때 사용하는 표현방법
1) 패턴{n} : 패턴이 n번 반복되는 것을 찾아라
2) 패턴{n, } : 패턴이 최소 n번 이상 반복되는 것을 찾아라
3) 패턴{m.n} : 페턴이 최소m번이상, 최대n번이하 반복되는것 을 찾아라
조건에 일치하는 문자열 찾기 특수문자
[ ] : 특정 식의 시작과 끝
ex. [1-9] : 1에서 9까지
^x : x로 시작하는 문자열
x$ : x로 끝나는 문자열
x+ : x가 한번 이상 반복되는 문자열
x? : x가 0번 또는 한번만 있는 문자열
x* : x가 0번 이상 반복되는 문자열
. : 특정 문자 하나를 찾을 때 사용
ex [x.z] : x라는 문자와 z라는 문자사이에 문자 하나만 존재하는 패턴을 찾아라
xAz / xYz(0) / xADz(x)
*숫자 패턴을 찾아라
/^[0-9]+$/
*양의 정수 패턴 찾기
/^[1-9]\d*$/
*음의 정수 패턴
/^\-[1-9]\d*$/
*영문자 패턴
/^[a-zA-Z]+$/
*영문자 및 숫자 패턴
/^[a-zA-Z0-9]+$/