정규표현식 활용

Ji Hyeok Im·2023년 3월 8일
0

Javascript

목록 보기
14/17

특수문자 활용 (\s, \w, \d, [ ])

match()

문자열.match(정규표현식) 는 문자열변수중에 인자로 받은 정규표현식으로 매치되는 문자열을 찾아준다.

var targetStr = "ABC 123abc 1\n23ABC \n123";
var regExp1 = /\w\s\w/;
var regExp2 = /\w\s\w/g; // g: global
var regExp3 = /[\w\s\w]/; // == /[\w\s]/
var regExp4 = /abc\s123/ig; // i : 대소문자 구분 안함

매치되는 문자열이 없으면 null을 반환한다.

var str = "1 홍길6동\n2 이4순신\n3 슈퍼1맨";
document.write(star.match(/\d/g)) // 1,6,2,4,3,1
document.write(star.match(/^\d/g)) // 1
document.write(star.match(/^\d/gm)) // 1,2,3

문자열이 여러 줄로 구성된 경우 패턴에 시작기호(^)가 있을 때 g 플래그는 첫 줄의 시작패턴만 표시된다.

g플래그와 m 플래그를 같이 사용하면 각 라인마다 패턴을 찾아준다.

문자열.search(정규표현식) 는 문자열에서 정규표현식의 패턴이 시작된느 첫 위치를 반환한다.

해당 패턴이 문자열에 없으면 -1을 반환한다.

var targetStr1 = "bc123abc";
var targetStr2 = "abc 123bc abc";
var targetStr3 = "abcd,123bc,abc";

횟수 제어 문자

var targetStr4 = "Heloolo World!";
var regExp1 = /lo*/g; // l 다음에 o 가 0회 이상 포함된 문자열
var regExp2 = /lo+/g; // l 다음에 o 가 1회 이상 포함된 문자열
var regExp3 = /lo?/g; // l 다음에 o 가 0회 또는 1회 포함된 문자열
var regExp4 = /lo{2,}; // l 다음에 o 가 2회 이상 포함된 문자열

replace()

문자열.replace(문자열 또는 정규표현식, 대체할 문자열) :

"Java" 문자열을 찾아서 "자바"로 바꿔주지만 첫 문자열을 찾고 난 후 실행이 종료된다.

문자열의 모든 "Java"를 "자바"로 바꾸려면 검색 플래그를 사용해야 한다.

대문자 JAVA는 검색 패턴에 포함되지 않은 것을 볼 수 있다. 대소문자를 구별하지 않게 해주는

검색플래그 \i 를 추가해준다.

패턴 그룹의 순서 변경

var yourStr = "Hong Gil Dong";
var nameRegExp = /(\w{2,})\s([A-Za-z]{2,}) ([A-Za-z]{2,})/;

relplace() 메서드를 사용할 때, $숫자로 문자열에 순서를 부여할 수 있다.

replace(정규표현식, "$숫자 $숫자(기호)$숫자) 등으로 활용할 수 있다.

profile
Programming study

0개의 댓글