삶 가운데 남긴 기록 AACII.TISTORY.COM
javascript 정규 표현식 본문
정규 표현식 생성
var reg = new RegExp("abc");
var reg2 = /abc/;
test()
문자열이 일치하는지 판별합니다. (boolean)
var reg = /cat/;
console.log(reg.test("cats")); //true
console.log(reg.test("Cat")); //false , 대소문자를 구별합니다.
exec()
인수와 비교하여 일치한 문자열을 배열로 리턴합니다.
var reg = /Script/;
var result = reg.exec("JavaScript");
console.log(result[0]); //"Script"
주요 표현식
abc : abc 문자열을 포함
[abc] : a, b, c 중 한개라도 포함
[^abc] : a, b, c 를 포함하지 않음
[a-zA-Z0-9] : 대소문자 a~z, 모든 숫자
. : (마침표) 줄 바꿈 문자를 제외한 문자 한개
\d : 모든 숫자
\D : 모든 숫자를 제외한 모든 문자 한 개 [^0-9] 와 같음
\w : 임의의 영단어 문자 한 개
\W : 영단어 문자를 제외한 문자 한 개
\s : 모든 공백 문자 한 개
\S : 공백 문자가 아닌 문자 한 개
[\b] : 백스페이스
+ : 한 번 이상 반복
* : 0 번 이상 반복
search()
인수로 받은 정규 표현식과 일치한 최초 문자 위치를 리턴합니다.
var s = "1 little, 2 little indian";
console.log(s.search(/little/)); //2
console.log(s.search(/\d/)); //0
console.log(s.search(/3\s/)); //-1 일치 하지 않는 경우 음수를 리턴
replace()
첫 번째 인수는 정규 표현식이 오고 두 번째 인수로 치환할 문자열이 오며 치환된 문자열을 리턴합니다.
정규 표현식에 g 플래그를 설정하면 일치한 문자열을 모두 치환합니다.
var s = "1 little, 2 little indian";
console.log(s.replace(/indian/, "boy")); // 1 little,2 little boy
console.log(s.replace(/little/g, "big")); //1 big, 2 big indian
match()
첫 번째 인수로 받은 정규 표현식과 일치하는 문자열을 순서대로 저장해서 배열로 리턴합니다.
"1 little, 2 little indian".match(/\d+/g); //["1", "2"]
split()
첫 번째 인수로 문자열을 분할 한 뒤 분할 된 문자열을 배열에 담아서 리턴합니다.
console.log("192.168.1.2".split(".")); //["192", "168", "1", "2"]
console.log("1 little, 2 little indian".split(/\s*(\d)\s*/));
//["", "1", "little", "2", "little indian"]
휴대전화번호 정규식 예제
var regPhone = new RegExp("^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$");
이메일 주소 정규식 예제
var regEmail = new RegExp("^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$");
728x90
'DEV&OPS > Javascript' 카테고리의 다른 글
javascript DOM tree (0) | 2022.03.06 |
---|---|
javascript 브라우저의 객체 (0) | 2022.03.04 |
javascript array, map, set (0) | 2022.03.03 |
javascript 알고리즘 연습 (0) | 2022.03.02 |
JSON (0) | 2022.03.02 |