JS 정규 표현식의 테스트, exec, 매치 방법의 차이
시험
테스트는 부울을 반환하여 해당 문자열에서 존재 모드를 찾습니다.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "");
경고 (reg.test (str));
exec
Exec는 현재 일치하는 결과를 찾고 반환하고 배열 형태로 반환합니다.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "");
var anrr = reg.exec (str);
모드가 없으면 ARR은 NULL입니다. 그렇지 않으면 ARR의 길이는 항상 1의 배열이며 그 값은 현재 일치입니다. ARR의 세 가지 속성이 있습니다 : 인덱스의 현재 일치하는 위치;
exec 방법은 매개 변수 G의 영향을받습니다. G가 지정되면 다음에 exec가 호출되면 LastIndex에서 시작하여 일치합니다.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "");
경고 (reg.exec (str) [0]);
경고 (reg.exec (str) [0]);
위의 두 출력은 1A입니다. 이제 지정된 매개 변수 g를보십시오.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "g");
경고 (reg.exec (str) [0]);
경고 (reg.exec (str) [0]);
첫 번째 출력 1A, 두 번째 출력 1B.
성냥
일치는 문자열 객체의 메소드입니다.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "");
경고 (str.match (reg));
이 방법은 Exec와 비슷하지만 : exec는 regexp 객체의 메소드입니다. 이 둘 사이에는 또 다른 차이점이 있으며, 이는 매개 변수 G의 설명입니다.
매개 변수 g가 지정되면 일치는 한 번에 모든 결과로 돌아갑니다.
var str = "1a1b1c";
var reg = 새로운 regexp ( "1.", "g");
경고 (str.match (reg));
// alerts (str.match (reg));이 문장은 위의 문장의 결과와 동일합니다.
이 결과는 1A, 1B, 1C입니다.
두 가지 기능은 종종 JavaScript에서 사용되며 일치 및 테스트는 종종 정기적 인 표현식으로 사용됩니다.
exmple과 일치합니다
다음과 같이 코드 코드를 복사하십시오.
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = str.match (regexp);
// rs = array ( 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
테스트 예
다음과 같이 코드 코드를 복사하십시오.
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = regexp.test (str);
// rs = boolean;
exc 예
다음과 같이 코드 코드를 복사하십시오.
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs;
while ((rs = regexp.exec (str))! = null)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ( "<br />");
}
산출
--------------------------------------------------------- --------------------------------------
A 1
B 2
C 3
D 4
e 5
27
B 28
C 29
D 30
e 31
또 다른 EXC는 exmple
다음과 같이 코드 코드를 복사하십시오.
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
while ((rs = regexp.exec (str))! = null)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ( "<br />");
}
산출
--------------------------------------------------------- --------------------------------------
ABB 3
AB 9