웹 프론트엔드 JS 튜토리얼 js 정규 표현식의 test(), exec() 및 match() 차이점 비교(예제 포함)

js 정규 표현식의 test(), exec() 및 match() 차이점 비교(예제 포함)

Aug 20, 2018 pm 03:11 PM
js 정규 표현식

이 기사는 js 정규식의 test(), exec() 및 match()의 차이점과 비교를 제공합니다(예제 포함). 이는 특정 참조 값이 있으며 도움이 필요한 친구들이 참조할 수 있기를 바랍니다.

1. 정규식은 일반적으로

두 가지 문자열 메서드: search(), replacement()

두 가지 정규식 메서드: test(), exec()

search() 메서드: 정규식을 사용합니다. 인수로 사용하고 일치하는 첫 번째 하위 문자열의 시작 위치를 반환합니다. 일치하는 하위 문자열이 없으면 -1을 반환합니다.

replace() 메소드: 검색 및 대체 작업을 수행합니다. 첫 번째 매개변수는 정규식이고 두 번째 매개변수는 대체할 문자열 또는 클로저입니다.

test() 메서드: 는 문자열이 특정 패턴과 일치하는지 감지하는 데 사용됩니다. 문자열에 일치하는 텍스트가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

exec() 메서드: 는 문자열에서 정규식 일치 항목을 검색하는 데 사용됩니다. 이 함수는 일치하는 결과가 포함된 배열을 반환합니다. 일치하는 항목이 없으면 반환 값은 null입니다.

match() 메소드: 유일한 매개변수는 정규식입니다. 정규식에 플래그 g가 포함되어 있으면 해당 반환 값에는 배열에 나타나는 문자열이 포함됩니다. 경기의. 정규식에 g 플래그가 없으면 첫 번째 요소가 일치하는 문자열이고 나머지 요소가 정규식의 개별 그룹인 배열도 반환됩니다. 참고: 전역 검색 모드에서 match()는 하위 표현식과 일치하는 텍스트에 대한 정보를 제공하지 않으며 일치하는 각 하위 문자열의 위치를 ​​선언하지도 않습니다. 전역적으로 검색된 정보가 필요한 경우 RegExp.exec()를 사용할 수 있습니다.

split() 메서드: 패턴 일치를 지원할 수 있습니다.

2. RegExp 개체는 패턴 일치를 위한 두 가지 메서드, 즉 exec()와 test()

1을 정의합니다. RegExp의 exec() 메서드는 String의 match() 메서드와 매우 유사합니다. 문자열에 대해 정규식 일치를 수행합니다. 일치하는 항목이 없으면 null을 반환하고, 그렇지 않으면 배열을 반환합니다. 이 배열의 첫 번째 요소에는 정규식과 일치하는 문자열이 포함되고 나머지 요소에는 다음이 포함됩니다. 일치하는 그룹. 또한 정규식 개체의 index 속성에는 일치가 발생한 문자열의 위치도 포함되며, 입력 속성은 검색된 문자열을 참조합니다.
정규식에 g 플래그가 있는 경우 객체의 lastIndex 속성을 일치하는 문자열 바로 다음 위치로 설정하고 검색을 시작합니다. exec()가 일치하는 항목을 찾지 못하면 lastIndex 속성을 0으로 재설정합니다. 이 특수 동작을 사용하면 exec()를 반복적으로 호출하여 문자열의 모든 정규식 일치 항목을 반복할 수 있습니다.

2. RegExp 개체의 test() 매개변수는 문자열입니다. 이 문자열에 정규 표현식과 일치하는 항목이 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
g 플래그가 있는 정규 표현식이 test() 메서드를 호출할 때 , 이는 exec()와 동일하게 동작합니다. 즉, lastIndex에서 시작하는 특정 문자열을 검색하고 일치하는 항목을 찾으면 lastIndex를 해당 일치 항목 바로 다음 문자 위치로 설정하므로 테스트 메소드를 사용할 수 있습니다. ()는 문자열을 순회하는 데 사용됩니다.

test

test는 해당 문자열에 패턴이 존재하는지 확인하기 위해 부울을 반환합니다.

var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true
로그인 후 복사

exec

exec는 현재 일치하는 결과를 찾아서 배열로 반환합니다.

var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
로그인 후 복사

패턴이 없으면 arr은 null이고, 그렇지 않으면 arr은 항상 값이 현재 일치하는 길이 1의 배열입니다. arr에는 세 가지 속성도 있습니다. index는 현재 일치 항목의 위치이고 lastIndex는 현재 일치 항목의 끝 위치입니다(인덱스 + 현재 일치 항목의 길이). 위의 예에서 입력은 str입니다.

exec 메소드는 매개변수 g의 영향을 받습니다. g를 지정하면 다음에 exec가 호출될 때 마지막으로 일치하는 lastIndex부터 검색이 시작됩니다.

var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
로그인 후 복사

위 출력은 모두 1a입니다. 이제 지정된 매개변수 g를 살펴보세요.

var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
로그인 후 복사

위의 첫 번째 매개변수는 1a를 출력하고 두 번째 매개변수는 1b를 출력합니다.

match

hjvar str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
로그인 후 복사

e 메소드는 exec와 약간 비슷하지만 exec는 RegExp 객체의 메소드입니다. math는 String 객체의 메소드입니다. 둘 사이에는 또 다른 차이점이 있는데, 이는 e 매개변수 g의 해석입니다.

매개변수 g를 지정하면 match는 모든 결과를 한 번에 반환합니다.

var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是一样的
로그인 후 복사

이 결과는 1a, 1b, 1c의 세 가지 요소로 구성된 배열입니다.

compile 메소드는 정규식을 내부 형식으로 컴파일하므로 실행 속도가 빨라집니다.

var reg = new RegExp();
reg.compile("[a-z]{5}", "g");
alert(reg.test("cftea"));
로그인 후 복사

동일한 정규 표현식을 여러 번 사용할 때(예: 루프에서) 효과는 상당합니다.

관련 추천:

JS 기본 시리즈 정규 표현식

js에서 정규 표현식의 역추적을 올바르게 이해하는 방법

위 내용은 js 정규 표현식의 test(), exec() 및 match() 차이점 비교(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? 프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? Apr 04, 2025 pm 02:42 PM

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? 누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? Apr 04, 2025 am 12:09 AM

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까? JavaScript를 사용하여 동일한 ID와 동일한 ID로 배열 요소를 하나의 객체로 병합하는 방법은 무엇입니까? Apr 04, 2025 pm 05:09 PM

동일한 ID로 배열 요소를 JavaScript의 하나의 객체로 병합하는 방법은 무엇입니까? 데이터를 처리 할 때 종종 동일한 ID를 가질 필요가 있습니다 ...

Demystifying JavaScript : 그것이하는 일과 중요한 이유 Demystifying JavaScript : 그것이하는 일과 중요한 이유 Apr 09, 2025 am 12:07 AM

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Console.log 출력 결과의 차이 : 두 통화가 다른 이유는 무엇입니까? Console.log 출력 결과의 차이 : 두 통화가 다른 이유는 무엇입니까? Apr 04, 2025 pm 05:12 PM

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

초보자를위한 타이프 스크립트, 2 부 : 기본 데이터 유형 초보자를위한 타이프 스크립트, 2 부 : 기본 데이터 유형 Mar 19, 2025 am 09:10 AM

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript

Shiseido의 공식 웹 사이트와 같은 시차 스크롤 및 요소 애니메이션 효과를 달성하는 방법은 무엇입니까?
또는:
Shiseido의 공식 웹 사이트와 같은 페이지 스크롤과 함께 애니메이션 효과를 어떻게 달성 할 수 있습니까? Shiseido의 공식 웹 사이트와 같은 시차 스크롤 및 요소 애니메이션 효과를 달성하는 방법은 무엇입니까? 또는: Shiseido의 공식 웹 사이트와 같은 페이지 스크롤과 함께 애니메이션 효과를 어떻게 달성 할 수 있습니까? Apr 04, 2025 pm 05:36 PM

이 기사에서 시차 스크롤 및 요소 애니메이션 효과 실현에 대한 토론은 Shiseido 공식 웹 사이트 (https://www.shiseido.co.jp/sb/wonderland/)와 유사하게 달성하는 방법을 살펴볼 것입니다.

PowerPoint가 JavaScript를 실행할 수 있습니까? PowerPoint가 JavaScript를 실행할 수 있습니까? Apr 01, 2025 pm 05:17 PM

JavaScript는 PowerPoint에서 실행할 수 있으며 외부 JavaScript 파일을 호출하거나 VBA를 통해 HTML 파일을 포함시켜 구현할 수 있습니다. 1. VBA를 사용하여 JavaScript 파일을 호출하려면 매크로를 활성화하고 VBA 프로그래밍 지식이 있어야합니다. 2. JavaScript가 포함 된 HTML 파일을 포함시켜 간단하고 사용하기 쉽지만 보안 제한이 적용됩니다. 장점에는 확장 된 기능과 유연성이 포함되며, 단점에는 보안, 호환성 및 복잡성이 포함됩니다. 실제로 보안, 호환성, 성능 및 사용자 경험에주의를 기울여야합니다.

See all articles