일반적인 정규표현식에 대한 학습은 여기→ 에서 할 수 있다.
자바스크립트에서는 정규표현식을 RegExp
객체로 표현한다. RegExp
생성자를 사용하거나 정규표현식 리터럴 을 사용해서 생성할 수 있다.
var reg = new RegExp("abc");
var reg = /abc/;
정규표현식으로 문자열을 처리할 수 있는데, 그 중에서 String 객체의 메서드와 정규 표현식을 함께 활용하는 방법을 알아본다.
search 메서드는 인수로 받은 정규 표현식 객체와 일치한 최초 문자열의 인덱스를 반환한다. 찾지 못한 경우 -1을 반환한다.
var s = "1 little, 2little indian";
console.log(s.search(/little/)); // 2
console.log(s.search(/\d/)); // 0
replace 메서드는 첫번째 인수로 받은 정규표현식과 일치하는 문자열을 검색하고, 두번째 인수로 받은 문자열로 치환한 새로운 문자열을 반환한다. 중요한 것은, 새로운 문자열을 반환하지, 원본을 고치는것이 아니라는 것이다.
g 플래그를 설정하면 일치한 문자열을 모두 수정하고, g 플래그를 설정하지 않으면 가장 처음 일치한 문자열만 수정한다.
var s = "1 little, 2little indian";
console.log(s.replace(/little/, "big")); // 1 big, 2little indian
console.log(s.search(/little/g), "bin"); // 1 big, 2big indian
match 메서드는 첫번째 인수로 받은 정규표현식과 일치하는 문자열을 순서대로 저장해서 배열로 반환한다. 역시나 원본을 수정하지 않는다.
"1 little, 2little indian".match(/\d+/g); // -> ["1", "2"]
g 플래그를 설정하지 않으면 가장 처음 일치한 문자열만 반환한다.
split 메서드는 첫번째 인수로 문자열을 분할한 다음에 배열에 담아서 반환한다. 첫번째 인수로는 문자열 또는 정규표현식을 넘길 수 있다. 첫번째 인수를 생략하면 원본 문자열 전체를 배열에 담아 반환한다. 역시나 원본을 수정하지 않는다.
console.log("172.20.51.65".split(".")); // ["172", "20", "51", "65"]
더욱 자세한 내용은 구글을..사용? 차후에 더욱 업로드 하겠다.
저자 : 강화수(hwasurr)