이 기사는 일반적인 게으름과 탐욕에 대한 설명을 가져오는 것이 모든 사람에게 도움이 되기를 바랍니다.
exec - > 일반 캡처
캡처가 수행될 때마다 기본 일치가 먼저 수행됩니다. 일치하는 콘텐츠만 캡처할 수 있습니다.
캡처된 콘텐츠 형식
1. 캡처된 콘텐츠는 배열입니다. 배열의 첫 번째 항목은 현재 정규식으로 캡처된 콘텐츠입니다.
인덱스: 캡처된 콘텐츠가 시작되는 인덱스 위치입니다. string
입력: 원본 문자열 캡처
reg = /\d+/ str = 'woshi2016ni2017' res =
var res = reg.exec(str); console.log(res) // ['2016',index:5,input:'woshi2016ni2017']
2. 일반 캡처의 특징
1) Laziness -> exec가 실행될 때마다 첫 번째로 일치하는 내용만 캡처됩니다. 여러 캡처가 수행되는 경우 첫 번째로 일치하는 콘텐츠가 계속 캡처됩니다.
LastIndex: 정규식이 각 캡처 검색을 시작하는 문자열의 위치입니다. 기본값은 0입니다.
2) 게으름을 해결하는 방법 정규식 끝에 "g" 수식자를 추가하세요.
수정자: g, i, mglobal(g): 전역 일치
ignoreCase(i): 대소문자 일치 무시
multiline(m): 여러 줄 일치
var reg = /\d/g;
var str = 'woshi2016ni2017';
console.log(reg.lastIndex)
console.log(reg.exec(str))
3), 정규 표현식으로 캡처한 모든 콘텐츠를 얻으려면 자신만의 프로그램을 작성하세요(g를 추가하는 것을 잊지 마세요)
var reg = /\d+/g;var str = 'aswofde2015xsewde2016awdefer2017';var ary = [];var res = reg.exec(str);while(res){ ary.push(res[0]) res = reg.exec(str); } console.log(ary)//[2015,2016,2017]
5)을 캡처합니다. 정규 패턴의 욕심 많은 성격을 해결하는 방법 -> 수량자 메타 문자 뒤에 하나를 추가하시겠습니까?
var reg = /\d+?/g;var str = 'aswofde2015xsewde2016awdefer2017'; console.log(reg.exec(str));
/d?/의 0-1회 발생을 나타내기 위해
뒤에 넣습니다. 나타나지 않음
캡처 취소 시수량자의 메타 문자 뒤에 붙이는 것은 탐욕적입니다
3. 문자열의 일치 방법 -> 정규식과 일치하는 모든 문자를 입력합니다 Get
var reg = /\d+?/g;var str = 'aswofde2015xsewde2016awdefer2017';var ary = str.match(reg);//[2,0,1,5,2,0,1,6,2,0,1,7]현재 상황에서는 match가 우리 exec보다 간단하지만 match에서 처리할 수 없는 몇 가지 문제가 있습니다. 그룹 캡처의 경우 match는 큰 정규식으로 일치하는 콘텐츠만 캡처할 수 있지만, 작은 정규 표현식으로 캡처한 콘텐츠를 얻을 수 없습니다
위 내용은 일상적인 게으름과 탐욕에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!