>  기사  >  웹 프론트엔드  >  Javascript_javascript 스킬의 정규식 글로벌 매칭 패턴 분석

Javascript_javascript 스킬의 정규식 글로벌 매칭 패턴 분석

WBOY
WBOY원래의
2016-05-16 18:07:20908검색
코드 복사 코드는 다음과 같습니다.

var str = "123#abc"
var re = /abc/ig;
console.log(re.test(str)); //true 출력
console.log(re.test(str)) //false 출력
console .log( re.test(str)); //true 출력
console.log(re.test(str)); //false 출력

정규식 생성 시 사용하는 경우 object "g" 식별자 또는 해당 전역 속성 값이 true로 설정되면 새로 생성된 정규식 개체는 패턴을 사용하여 일치할 문자열을 전역적으로 일치시킵니다. 전역 일치 모드에서는 지정된 문자열에 대해 여러 일치 항목을 수행하여 찾을 수 있습니다. 각 일치 항목은 현재 일반 개체의 lastIndex 속성 값을 대상 문자열에서 검색을 시작하는 시작 위치로 사용합니다. lastIndex 속성의 초기값은 0이다. 일치하는 항목을 찾은 후 lastIndex 값은 문자열에서 일치하는 내용의 다음 문자의 위치 인덱스로 재설정되어 검색을 시작할 위치를 식별하는 데 사용됩니다. 다음 경기가 열릴 때. 일치하는 항목이 없으면 lastIndex 값이 0으로 설정됩니다. 일반 객체의 전역 일치 플래그가 설정되지 않은 경우 lastIndex 속성의 값은 항상 0이며, 일치가 수행될 때마다 문자열에서 첫 번째로 일치하는 항목만 찾습니다. 다음 코드를 사용하여 실행과 일치하는 해당 lastIndex 속성의 값을 볼 수 있습니다.
코드 복사 코드는 다음과 같습니다.

var str = "123#abc";
var re = /abc/ig;
console.log(re.test(str)); //출력
console.log(re.lastIndex) //출력 7
console .log( re.test(str)); //출력 false
console.log(re.lastIndex); //출력 0
console.log(re.test(str));
console.log(re.lastIndex); //출력 7
console.log(re.test(str)) //출력 false
console.log(re.lastIndex); 0

RegExp.prototype.exec(str) 메서드 및 String.prototype.math(rgExp) 메서드 정보

일반 개체의 테스트 메서드는 true 값을 반환합니다. 또는 false이며 대상만 감지하면 됩니다. 이 방법은 문자열이 지정된 패턴과 일치하는지 확인할 때 유용하지만 일치하는 내용을 얻을 필요는 없습니다. 일치하는 결과를 얻고 싶을 때에는 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개의 부분 일치를 얻을 수 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.