제6 주 넷 째 날 필기

35565 단어
1. 정규 표현 식 의 전역 g 가 몇 가지 방법 에 미 치 는 영향 검증
  • test 검사 방법: 정규 적 인 방법
  • 요약: 1) 전역 g 을 추가 하지 않 을 때 lastIndex 값 은 항상 0 이기 때문에 검사 가 일치 할 때마다 0 부터 찾 고 찾 으 면 true 로 돌아 가 며 찾 지 못 하면 false 로 돌아 갑 니 다.2) 전역 g 을 추가 하면 test 방법 은 lastIndex 값 을 중첩 하여 변경 합 니 다. 검사 할 때마다 lastIndex 값 이 바 뀌 고 다음 에 찾 을 때 lastIndex 값 부터 찾 습 니 다.
  •  
         var str="yuanmeng00huadianyuanmenghuadian11";
         var reg=/yuanmeng\d+/;
         var reg1=/yuanmeng\d+/g;
         //     g;
         console.log(reg.test(str));//   true;
         //    g;
         console.log(reg1.lastIndex);//   0;
         console.log(reg1.test(str));//   true;       yuanmeng00;
         console.log(reg1.lastIndex);//   10;
         console.log(reg1.test(str));//   false,    10       ,    ,  null;
     
    
  • exec 방법: 정규 적 인 방법
  • 요약: 1) 전체 g 를 추가 하지 않 고 찾 을 때마다 0 부터 reg 의 lastIndex 는 0 입 니 다.2) 정규 exec 방법 에 g 를 추가 하면 한 번 사용 할 때마다 하 나 를 찾 은 다음 에 배열 로 출력 합 니 다. 출력 을 찾 을 때마다 다음 에 찾 는 위 치 는 reg 의 lastIndex 속성 치 를 통 해 기록 되 고 exec 방법 으로 다시 찾 을 때 마지막 에 끝 난 곳 부터 찾 습 니 다.
  •  
        var str="yuanmenghuadianyuanmenghuadian11";
        var reg=/yuanmeng/;
        var reg1=/yuanmeng/g;
        //2.1        g
        console.log(reg.exec(str));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        console.log(reg.lastIndex);//   :0
        console.log(reg.exec(str));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        console.log(reg.lastIndex);//   :0
        console.log(reg.exec(str));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        console.log(reg.lastIndex);//   :0
        //  :     g,       ,   0  ,reg lastIndex   0;
        //2.2       g
        console.log(reg1.exec(str));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        console.log(reg1.lastIndex);//   :8
        console.log(reg1.exec(str));//   :["yuanmeng", index: 15, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        console.log(reg1.lastIndex);//   :23
        console.log(reg1.exec(str));//   :null
        console.log(reg1.lastIndex);//   :0
        console.log(reg1.exec(str));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
        //  :  exec     g,  ,          ,          ,       ,         reg lastIndex      ,    exec     ,             ; 
     
    
  • match 방법: 문자열 의 방법
  • 요약: 문자열 match 방법 은 본질 적 으로 내용 을 찾 는 것 입 니 다. 하 나 를 찾 으 면 하나의 배열 로 돌아 갑 니 다. 배열 에는 세 가지 가 있 습 니 다.exec 방법 으로 얻 은 것 과 같 음;
  • 요약: 1) 전체 g 를 추가 하지 않 을 때;match 방법 은 exec 방법 에 해당 합 니 다. 내용 을 찾 고 하나의 배열 로 되 돌아 갑 니 다. 안에 세 가지 가 있 습 니 다.2) 전역 g 을 추가 할 때 match 방법 은 reg 규칙 을 만족 시 키 는 모든 내용 을 배열 요소 로 하여 새로운 배열 로 되 돌려 줍 니 다.
  •  
         var str="yuanmenghuadianyuanmenghuadian11";
         var reg=/yuanmeng/;
         var reg1=/yuanmeng/g;
         console.log(str.match(reg));//   :["yuanmeng", index: 0, input: "yuanmenghuadianyuanmenghuadian11", groups: undefined]
         console.log(str.match(reg1));//   :["yuanmeng", "yuanmeng"]
         //  :      g ;match     exec  ,     ,          ,     ;
         //     g ,match  ,      reg     ,      ,        ;
     
    
  • replace 방법: 문자열 의 방법
  • 요약: 1) 문자열 replace 방법 을 사용 할 때 문자열 에서 교 체 된 내용 을 찾 으 면 중단 하고 교체 한 다음 에 새로운 문자열 을 되 돌려 줍 니 다.주의: 하나만 찾 으 면 끝 납 니 다.2) 정규 표현 식 이 전체 g 를 추가 하지 않 을 때 이 때 는 한 번 찾 는 것 을 의미 합 니 다. 사용 할 때 하 나 를 찾 으 면 멈 춥 니 다. 교 체 된 내용 을 하나의 규칙 으로 바 꾸 었 을 뿐 본질 은 변 하지 않 습 니 다.3) 정규 표현 식 에 전역 g 을 추가 한 후 전역 에서 정규 규칙 에 만족 하 는 모든 내용 을 찾 은 다음 에 모든 바 꾸 고 새로운 문자열 을 되 돌려 주 는 것 을 의미 합 니 다.
  •  
         var str="yuanmenghuadianyuanmenghuadian11";
         var reg=/yuanmeng/;
         var reg1=/yuanmeng/g;
         console.log(str.replace(reg,"meihao"));//   :meihaohuadianyuanmenghuadian11
         console.log(str.replace(reg1,"meihao"));//   :meihaohuadianmeihaohuadian11
         //  ,     g,        ,       ,     ,   ,       ;
         //    g,        ,     ,      ,   ,       ;
     
    

    2. 문자열 의 repalce 방법 과 정규 배합 후의 변화
  • 요약:
  • 문자열 replace 방법 은 본질 적 으로 교 체 된 내용 을 찾 은 다음 에 바 꾸 고 새로운 문자열 로 돌아 가 는 것 입 니 다. 그러나 주의해 야 할 것 은 찾 을 때마다 하나만 찾 고 하나만 있 으 면 멈 춘 다음 에 하 나 를 바 꾸 는 것 입 니 다. 끝 날 때 두 개의 요 구 를 만족 시 키 는 내용 을 바 꾸 지 않 습 니 다.
  • 전역 g 을 추가 하지 않 습 니 다. 상기 방법 결과 와 마찬가지 로 하나만 찾 은 다음 에 하 나 를 교체 하고 끝 냅 니 다.
  • 전역 g 을 추가 하고 찾기 규칙 을 변경 합 니 다. 찾 을 때 규칙 에 만족 하 는 내용 을 모두 찾 은 다음 에 모두 바 꾸 고 마지막 으로 끝 냅 니 다.
  • 정규 적 으로 변 경 된 것 은 하나의 규칙 일 뿐 replace 의 특성 을 바 꾸 지 않 고 찾기 규칙 만 바 꾸 었 습 니 다.
  • 실질: 문자열 에 있 는 replace 방법 은 특성 이 바 뀌 지 않 았 습 니 다. 정규 만 추가 하여 찾 는 규칙 을 바 꾸 었 을 뿐 입 니 다.원래 하 나 를 찾 는 것 에서 모든 것 을 찾 는 것 으로 바 뀌 었 는데 이것 이 결정적 인 역할 을 하 는 것 은 바로 정규 이 고 그 가 제정 한 규칙 이다.

  • 
        //  :      replace  , str    huadian,     huandianxiehe;
        var str="huadianhuadian";
        str=str.replace("huadian","huadianxiehe");
        console.log(str);//   :huadianxiehe huadian;
        str=str.replace("huadian","huadianxiehe");
        console.log(str);//   :huadianxiehe xiehe huadian;
        //  :   replace  ,            ,      ,         ,         ,         ,        ,      ,  ,               ;
        //    ,       ,         ,         ,         ,    ,     ,      ,    huadian        ;
    
        //    replace  ;
        //1.           g;
        var str="huadianhuadian";
        var reg=/huadian/;
        str=str.replace(reg,"huadianxiehe");
        console.log(str);//   :huadianxiehe huadian
        str=str.replace(reg,"huadianxiehe");
        console.log(str);//   :huadianxiehe xiehe huadian
        //  :     g,         ,        ,      ,  ;
        //2.        g,
        var str="huadianhuadian";
        var reg=/huadian/g;
        console.log(str.replace(reg,"huadianxiehe"));//   :huadianxiehe huadianxiehe
        //  ,    g,      ,      ,             ,      ,    ;
        //   :     ,      ,    replace   ,         ;
        //  :      replace  ,      ,          ,         ;        ,      ,              ,      ;
    
    

    3. replace 방법 중의 리 셋 함수
  • 리 셋 함수: 함수 의 정의 단 계 를 매개 변수 로 하고 다른 함수 에 부여 합 니 다. 이런 함 수 를 리 셋 함수 라 고 합 니 다.
  • replace 방법 중의 반전 함수:
  • replace 방법 중의 리 셋 함수 호출 횟수 는 정규 일치 횟수 에 따라 몇 번 일치 하면 몇 번 호출 합 니까?
  • replace 방법 은 정규 에 맞 는 내용 을 찾 을 때마다 함 수 를 호출 하고 현재 가 져 온 내용 의 세 가지 매개 변 수 를 입력 합 니 다. 사실은 내용 에 대한 모든 만족 상황 을 옮 겨 다 니 는 것 으로 볼 수 있 습 니 다.
  • replace 방법 중의 리 셋 함 수 는 실제 인삼 에 들 어 갑 니 다. 들 어 오 는 내용 은 exec 에서 얻 은 세 가지 내용 값 입 니 다. 예 를 들 어 1) item: 큰 정규 내용 (작은 그룹 이 있 으 면 두 번 째 항목 은 작은 그룹의 내용) 입 니 다.2) index: 찾 을 때마다 시작 에 대응 하 는 색인 값;3) 입력: 문자열;
  •  
         //    :                      ,           ;
         var str="yuanmengyuanmeng";
         var reg=/yuanmeng/g;
         //replace           ,            ;
         //replace      ,      exec          ;
         str=str.replace(reg,function (item,index,input) {
             //              , arguments
             console.log(arguments);//   :["yuanmeng", 0, "yuanmengyuanmeng"];
             return "yuanmengpeixun";
         });
         console.log(str);//   :yuanmengpeixunyuanmengpeixun
     
    
  • 인 스 턴 스 1: 민감 한 단 어 를 걸 러 내 는 것, 즉 replace 방법 을 이용 하여 특정한 단 어 를 대응 하 는 수의 * 번호 로 교체 하 는 것 이다.
  • 지식 점: replace 방법 에서 리 셋 함 수 를 사용 하여 첫 번 째 정규 내용 파 라미 터 를 얻 습 니 다.
  •  
     
     
     

    좋은 웹페이지 즐겨찾기