ES6 학습 노트 의 정규 표현 식 과 문자열 정규 방법 분석

2226 단어
본 고의 실례 는 ES6 정규 표현 식 과 문자열 정규 방법 을 설명 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다. 구체 적 으로 는 다음 과 같 습 니 다.
RegExp 구조 함수
ES5 에서 RegExp 구조 함수 의 매개 변 수 는 두 가지 상황 이 있다.
첫 번 째 상황 은 매개 변 수 는 문자열 입 니 다. 이때 두 번 째 매개 변 수 는 정규 표현 식 의 수정자 (flag) 를 표시 합 니 다.

var regex = new RegExp('xyz', 'i');
//    
var regex = /xyz/i;


두 번 째 상황 은 매개 변 수 는 정규 표현 식 이 고 이 때 는 기 존의 정규 표현 식 의 복사 본 을 되 돌려 줍 니 다.

var regex = new RegExp(/xyz/i);
//    
var regex = /xyz/i;


그러나 ES5 는 이때 두 번 째 인 자 를 사용 하고 수정자 를 추가 하 는 것 을 허용 하지 않 습 니 다. 그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.

var regex = new RegExp(/xyz/, i);
// Uncaught TypeError: Cannot supply flags when constructing one RegExp from another


ES6 는 이런 행 위 를 바 꿨 다.RegExp 구조 함수 의 첫 번 째 매개 변수 가 정규 대상 이 라면 두 번 째 매개 변 수 를 사용 하여 수식 자 를 지정 할 수 있 습 니 다.그리고 돌아 오 는 정규 표현 식 은 기 존의 정규 표현 식 의 수식 자 를 무시 하고 새로 지정 한 수식 자 만 사용 합 니 다.

new RegExp(/abc/ig, 'i').flags
// "i"


위의 코드 에서 원래 정규 대상 의 장식 부 호 는 ig 이 고 두 번 째 매개 변수 i 로 덮어 씁 니 다.
문자열 의 정규 방법
문자열 대상 은 모두 4 가지 방법 이 있 습 니 다. 정규 표현 식 match(), replace(), search()split() 을 사용 할 수 있 습 니 다.
ES6 는 이 네 가지 방법 을 언어 내부 에서 모두 RegExp 의 인 스 턴 스 방법 을 호출 하여 정규 와 관련 된 모든 방법 을 RegExp 대상 에 정의 합 니 다.String.prototype.match RegExp. prototype [Symbol. match] String.prototype.replace 호출 RegExp. prototype [Symbol. replace] String.prototype.search 호출 RegExp. prototype [Symbol. search] String.prototype.split 호출 RegExp. prototype [Symbol. split]
문자열 대상 은 모두 4 가지 방법 이 있 습 니 다. 정규 표현 식: match (), replace (), search (), split () 를 사용 할 수 있 습 니 다.
PS: 여기 서 여러분 께 매우 편리 한 정규 표현 식 도구 2 가 지 를 제공 합 니 다. 참고 하 시기 바 랍 니 다.
JavaScript 정규 표현 식 온라인 테스트 도구:http://tools.jb51.net/regex/javascript
정규 표현 식 온라인 생 성 도구:http://tools.jb51.net/regex/create_reg
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,, 및《 자 바스 크 립 트 수학 연산 용법 총 결 》.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기