Javascript 에서 정규 표현 식 의 전역 일치 모드 분석

4
 
var str = "123#abc";
var re = /abc/ig;
console.log(re.test(str)); // ture
console.log(re.test(str)); // false
console.log(re.test(str)); // ture
console.log(re.test(str)); // false
정규 표현 식 대상 을 만 들 때'g'식별 자 를 사용 하거나 global 속성 값 을 ture 로 설정 하면 새로 만 든 정규 표현 식 대상 은 패턴 을 사용 하여 일치 할 문자열 을 전역 적 으로 일치 시 킵 니 다.전역 일치 모드 에서 찾 을 문자열 을 여러 번 일치 시 킬 수 있 습 니 다.현재 정규 대상 의 lastIndex 속성 과 일치 하 는 값 을 대상 문자열 에서 찾기 시작 하 는 시작 위치 로 사용 합 니 다.lastIndex 속성의 초기 값 은 0 입 니 다.일치 하 는 항목 을 찾 은 후 lastIndex 의 값 은 일치 하 는 내용 의 다음 문자 가 문자열 에 있 는 위치 색인 으로 초기 화 되 어 다음 에 일치 하 는 위 치 를 표시 합 니 다.일치 하 는 항목 을 찾 지 못 하면 lastIndex 의 값 이 0 으로 설 정 됩 니 다.정규 대상 의 전역 일치 플래그 가 설정 되 어 있 지 않 을 때 lastIndex 속성의 값 은 항상 0 입 니 다.일치 하 는 문자열 의 첫 번 째 일치 하 는 항목 만 찾 습 니 다.다음 코드 를 통 해 해당 하 는 lastIndex 속성 에 맞 는 값 을 볼 수 있 습 니 다
 
var str = "123#abc";
var re = /abc/ig;
console.log(re.test(str)); // ture
console.log(re.lastIndex); // 7
console.log(re.test(str)); // false
console.log(re.lastIndex); // 0
console.log(re.test(str)); // ture
console.log(re.lastIndex); // 7
console.log(re.test(str)); // false
console.log(re.lastIndex); // 0
RegExp.prototype.exec(str)방법 과 String.prototype.math(rgExp)방법 정규 대상 의 test 방법 반환 값 은 true 또는 flase 입 니 다.대상 문자열 이 지정 한 패턴 과 일치 하 는 지 확인 해 야 하지만 일치 하 는 내용 을 가 져 올 필요 가 없 을 때 이 방법 은 유용 하지 않 습 니 다.일치 하 는 결 과 를 얻 으 려 면 RegExp 형식의 exec(str)방법 이나 String 형식의 match(rgExp)방법 을 사용 해 야 합 니 다.RegExp.prototype.exec(str)방법 은 NULL 을 되 돌려 주거 나 하나의 배열 을 되 돌려 줍 니 다.배열 의 0 번 째 요 소 는 문자열 str 에서 찾 은 일치 하 는 내용 을 저장 합 니 다.1~n 개의 요 소 는 패턴 에서 괄호'()'로 지정 한 하위 일치 항목 의 내용 을 되 돌려 줍 니 다.전역 플래그 를 사용 하지 않 았 을 때 String.prototype.math(rgExp)방법 은 RegExp.prototype.exec(str)와 유사 합 니 다.전역 일치 플래그 를 설정 할 때 String.prototype.math(rgExp)방법 으로 되 돌아 오 는 배열 항목 요 소 는 0 에서 n 에 일치 하 는 모든 항목 에 하위 일치 항목 을 포함 하지 않 습 니 다.이 때 RegExp.$1..$9 를 사용 하여 9 개의 일치 하 는 키 를 얻 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기