정규 표현 식 (MDN, w3c 노트 정리)

5587 단어 자바 script
정규 표현 식 생 성 방식
  • 글자 의 양
  • var regExp = /[a-z]\s/i
    
  • 구조 함수
  • var regExp = new RegExp('[a-z]\\s','i')
    

    특수 문자
    \		    
    ^	
    $
    *		0    
    + 		1    
    ? 		0  1 
    		   
    		/e?le?/    "angel"    'el'、"angle"    'le'    "oslo'    'l'。
    .		         ;     s ,          
    (x)		     'x'        。           。$1,$2,...,
    x|y
    {n}
    {n,}
    {n,m}
    [xyz]	    .(  ) *      ,      
    [^xyz]
    [\b]	  
    \b		  "moon"  :
    		/\bm/  “moon”  ‘m’;
    		/oo\b/    "moon"  'oo',  'oo'   “ ”  'n'   。
    		/oon\b/  "moon"  'oon',  'oon'           。        “ ”     。
    		/\w\b\w/          ,                        “ ”      “ ”  							      。
    \d
    \D
    
    \r \s \S \t \v \w \W \1 , n ( )。 /apple(,)\sorange\1/ "apple, orange, cherry, peach." 'apple, orange,' 。 \0 = null (?:x) /foo{1,2}/,{1,2} 'foo' 'o'。 , {1,2} 'foo' 。 x(?=y) (?<= y)x x(?!y) (?

    정규 대상 과 관련 된 속성
    var myRe = /d(b+)d/g;
    var myArray = myRe.exec("cdbbdbsbz"); 
    console.log(myRe);
    console.log(myRe.source);
    console.log(myRe.lastIndex);
    console.log(myArray);
    //   
    //  myRe     :source    lastIndex
    //  myArray      :      ,    ,index 	 input	
    

    정규 표현 식 을 사용 하여 변수 에 할당 되 지 않 은 대상 을 만 들 고 용 기 를 초기 화 할 수 있 습 니 다.만약 당신 이 이렇게 한다 면, 매번 사용 할 때마다 새로운 정규 표현 식 을 사용 하 는 것 과 같 습 니 다.이 때문에 변수 에 할당 되 지 않 은 정규 표현 식 을 사용 하면 이 정규 표현 식 의 속성 에 접근 할 수 없습니다.
    var myRe = /d(b+)d/g;
    var myArray = myRe.exec("cdbbdbsbz");
    console.log("The value of lastIndex is " + myRe.lastIndex);		//The value of lastIndex is 5
    
    
    var myArray = /d(b+)d/g.exec("cdbbdbsbz");
    console.log("The value of lastIndex is " + /d(b+)d/g.lastIndex);	//The value of lastIndex is 0
    

    정규 대상 과 관련 된 방법
  • 정규 대상
  • exec 방법: 배열 / null
  • 을 되 돌려 줍 니 다.
    // g
    【    ,    ,index,input】,RegExpObject.lastIndex              ;      exec            , exec        null,lastIndex = 0; :             ,  lastIndex = 0
    
    //  g
    【    ,    ,index,input】,RegExp lastIndex = 0
    
    // String.match()     ,     g        
    
    
  • test 방법: 문자열 에서 일치 하 는 RegExp 방법 을 테스트 합 니 다. true 나 false 를 되 돌려 줍 니 다.
  • var str = "Visit W3School";
    var patt1 = new RegExp("W3School");
    
    var result = patt1.test(str);  //true
    
  • String 대상 (4 가지 관련 방법)
  • match: 문자열 에서 일치 하 는 String 방법 을 찾 습 니 다. 일치 하지 않 을 때 null 로 돌아 갑 니 다.
  • //        
    // g
    var re = /\w+\s/g;
    var str = "fee fi fo fum";
    var myArray = str.match(re);
    console.log(myArray);  	// ["fee ", "fi ", "fo "]
    //  g
    var re = /\w+\s/;
    var str = "fee fi fo fum";
    var myArray = str.match(re);
    console.log(myArray);  	
    // ["fee ", index: 0, input: "fee fi fo fum", groups: undefined]
    
    
    
    //       
    // g :          ;        ,  input index  
    str.match(/l([\w]+)/g)  //   str = "Hello world!"    :["llo", "ld"]
    //  g:【    ,    ,index,input】
    str.match(/w(\w)+/)  //  str = "Hello world!"    :
    ["world", "d", index: 6, input: "Hello world!", groups: undefined]
    
    
  • search 문자열 에서 일치 하 는 String 방법 을 테스트 합 니 다. 일치 하 는 위치 색인 을 되 돌려 주거 나 실패 할 때 - 1 을 되 돌려 줍 니 다.search () 방법 은 전역 매 칭 을 실행 하지 않 습 니 다. 플래그 g 를 무시 합 니 다.regexp 의 lastIndex 속성 을 무시 하고 문자열 부터 검색 합 니 다. 이것 은 stringObject 의 첫 번 째 일치 하 는 위 치 를 항상 되 돌려 주 는 것 을 의미 합 니 다.
  • 
    var str="Visit W3School!"
    document.write(str.search(/W3School/))  //6
    
    
    var str="Visit W3School!"
    document.write(str.search(/w3school/))  //-1
    
  • replace: 문자열 에서 일치 하 는 String 방법 을 찾 고 일치 하 는 하위 문자열 $1, $2,... $99 가 regexp 의 첫 번 째 부터 99 번 째 표현 식 과 일치 하 는 텍스트 를 대체 문자열 로 대체 합 니 다. $®exp 와 일치 하 는 하위 문자열 입 니 다. $`짝 짓 기 문자열 왼쪽 에 있 는 텍스트 와 일치 합 니 다. $'짝 짓 기 오른쪽 에 있 는 텍스트 와 일치 합 니 다. $$일치 하 는 직접 기호.
  • 
    name = "Doe, John";
    name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
    
    name = 'aaa bbb ccc';
    uw=name.replace(/\b\w+\b/g, function(word){
    return word.substring(0,1).toUpperCase()+word.substring(1);}
    
    //???
    name = '"a", "b"';
    name.replace(/"([^"]*)"/g, "'$1'");
      );
    
  • split: 정규 표현 식 이나 고정 문자열 로 문자열 을 구분 하고 분 리 된 하위 문자열 을 배열 에 저장 하 는 String 방법
  • "hello".split("", 3)	//    ["h", "e", "l"]
    

    로 고 를 통 해 고급 검색 을 진행 합 니 다.
    g:		    
    i:		      
    m:		    
    s:		   .      
    u:		  unicode    
    y:		  “  ”  ,               ,    y  。
    

    ()[]{}
  • 기억 괄호
  • [] 는 문자 집합 [abc] 이 a 또는 b 또는 c
  • 와 일치 함 을 나타 낸다.
  • {} {n, m} 참조 링크: MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

  • JavaScript exec () 방법https://www.w3school.com.cn/js/jsref_exec_regexp. asp JavaScript match () 방법https://www.w3school.com.cn/js/jsref_match. asp JavaScript test () 방법https://www.w3school.com.cn/js/jsref_test_regexp. asp JavaScript search () 방법https://www.w3school.com.cn/jsref/jsref_search. asp JavaScript split () 방법https://www.w3school.com.cn/js/jsref_split. asp JavaScript replace () 방법https://www.w3school.com.cn/jsref/jsref_replace.asp
    정규 표현 식 (괄호), [중 괄호], {대괄호} 의 차이 점https://blog.csdn.net/u010552788/article/details/51019367/

    좋은 웹페이지 즐겨찾기