exec는 문자열 방법이 아닌 정규식의 방법이며, 매개 변수는 다음과 같이 문자열입니다.
var re = new regexp (// d/); re.exec ( "abc4def"); // 또는 perl style : //d/.exec ( "abc4def"); // 일치는 문자열 클래스에서 제공하는 메소드입니다. 매개 변수는 정규식 객체입니다. 다음의 사용법이 정확합니다. "ABC4DEF".MATCH (/D);
실행 및 일치 반환 배열
실행 방법을 실행하는 정규 표현식이 그룹화되지 않은 경우 (브래킷없이) 일치하는 경우 하나의 요소 만있는 배열을 반환 하고이 배열의 유일한 요소는 일반 표현식이 일치하는 첫 번째 문자열입니다. 일치가 없으면 NULL을 반환합니다.
다음 두 가지 경고 기능 팝업 정보는 동일합니다.
var str = "고양이, 모자"; var p =/at/; // g 속성 경보가 없습니다 (p.exec (str)) alert (str.match (p))
모두 "at"입니다. 이 경우 exec는 일치하는 것과 같습니다.
그러나 정규 표현식이 전 세계적으로 일치하는 경우 (G 속성) 위 코드는 다른 결과를 갖습니다.
var str = "고양이, 모자"; var p =/at/g; // g 속성 알림 참고 (p.exec (str)) alert (str.match (p))
그들은입니다
"에"
"AT, AT".
Exec은 항상 첫 번째 경기 만 반환하고 G 속성이 정기적으로 지정 될 때 경기는 모든 경기를 반환합니다.
exec가 일치를 찾고 그룹을 포함하면 반환 된 배열에는 여러 요소가 포함됩니다. 첫 번째 요소는 발견 된 매치이고, 후속 요소는 첫 번째, 두 번째 요소입니다 ... 경기에서 그룹화 (리버스 참조)
다음 코드는 "cat2, at"을 나타냅니다.
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str))
첫 번째 요소는 일치하는 문자열 "CAT2"이고, 후속 요소는 괄호 안에서 "일치하는"입니다.
일치 함수는 다음 조건을 방해하고 Exec와 동일한 함수를 실현합니다.
1. 정규 표현에는 그룹화 (괄호)에 포함됩니다.
2. 고유 한 경기를 반환하십시오
다음 코드를 살펴 보겠습니다.
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str)) alert (str.match (p))
"cat2, at"메시지가 나타납니다. 당신은 그것이 매우 이상하다고 생각합니까?
요약 :
매치는 모든 일치하는 문자열을 반환하는 배열이지만 정규 표현식은 모든 경기를 반환하기 위해 Global G 속성을 지정해야합니다. g 속성이 지정되지 않으면 하나의 요소 만있는 배열이 반환됩니다.
Exec는 항상 첫 번째 일치와 관련된 정보를 반환합니다. 첫 번째 경기는 첫 번째 매치 문자열을 포함하여 배열, 모든 패킷에 대한 역사를 포함합니다.
경우에 따라 EXEC가 반환 한 결과는 매치에 의해 반환 된 결과와 동일합니다.
var str = "고양이, 모자"; var p =/at/; // g 속성 경보가 없습니다 (p.exec (str)) alert (str.match (p))
"at"팝업
경우에 따라 매치에 의해 반환 된 결과는 exec가 반환 한 결과와 동일합니다.
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str)) alert (str.match (p))
"CAT2,"팝업
JavaScript의 Exec 및 Match 메소드에 대한 심층 분석은 내가 귀하와 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.