웹 프론트엔드 JS 튜토리얼 JS Regular_javascript 기술의 RegExp 객체 객체

JS Regular_javascript 기술의 RegExp 객체 객체

May 16, 2016 pm 05:48 PM
regexp 정기적인

RegExp 개체의 인스턴스를 만드는 방법에는 두 가지가 있습니다.

RegExp의 명시적 생성자를 사용합니다. 구문은 new RegExp("pattern"[,"flags"])입니다.
RegExp의 암시적 생성자를 일반 텍스트 형식으로 사용합니다: /pattern/[flags].

패턴 부분은 사용할 정규식 패턴 텍스트이며 필수입니다. 첫 번째 방법에서는 패턴 부분이 JavaScript 문자열 형식으로 존재하며 큰따옴표 또는 작은따옴표로 묶어야 합니다. 두 번째 방법에서는 패턴 부분이 두 개의 "/" 사이에 중첩되어 따옴표를 사용할 수 없습니다. .

flags 부분은 정규식의 플래그 정보를 설정하는 부분으로 선택사항입니다. 플래그 부분이 설정된 경우 첫 번째 방법은 문자열 형식으로 존재하고 두 번째 방법은 마지막 "/" 문자 바로 뒤에 텍스트 형식으로 존재합니다. 플래그는 다음 플래그 문자의 조합일 수 있습니다.
g는 글로벌 플래그입니다. 이 플래그가 설정된 경우 텍스트에 대한 검색 및 바꾸기 작업은 텍스트의 일치하는 모든 부분에 영향을 미칩니다. 이 플래그를 설정하지 않으면 가장 먼저 일치하는 항목만 검색하여 교체합니다.

i는 대소문자 무시 플래그입니다. 이 플래그가 설정되면 일치 비교를 수행할 때 대소문자가 무시됩니다.

m은 여러 줄로 구성된 플래그입니다. 이 플래그가 설정되지 않은 경우 메타 문자 "^"는 검색된 전체 문자열의 시작 부분에만 일치하고, 메타 문자 "$"는 검색된 문자열의 끝 부분에만 일치합니다. 이 플래그가 설정되면 "^"도 "와 결합될 수 있습니다. "또는" "는 다음 위치(즉, 다음 줄의 시작 부분)와 일치하며, "$"도 "와 일치할 수 있습니다. "또는" "는 "(즉, 다음 줄의 끝)과 일치합니다.

코드 1.1은 정규식 생성의 예입니다.
코드 1.1 정규식 생성: 1.1.htm

코드 복사 코드는 다음과 같습니다.

;head>
정규식 만들기

;



위 코드의 실행 결과는 그림 8.1에 나와 있습니다.
JavaScript 문자열의 ""는 이스케이프 문자이므로 명시적으로 사용하세요. 생성자는 RegExp 인스턴스 개체를 생성하므로 원래 정규식의 ""는 ""로 바뀌어야 합니다. 예를 들어 코드 1.2의 두 문은 동일합니다.
코드 1.2의 ""는 이스케이프됩니다.




코드 복사
코드는 다음과 같습니다.


정규식 패턴 텍스트의 이스케이프 문자도 ""이므로 정규식에서 리터럴 문자 ""를 일치시키려면 명시적 사용 시 정규식 패턴 텍스트에서 ""로 표시해야 합니다. 생성 함수를 사용하여 RegExp 인스턴스 객체를 생성할 때 리터럴 문자 ""를 나타내기 위해 "\"를 사용해야 합니다.
var re = 새 RegExp(\\).

1 RegExp 개체의 속성

RegExp 개체의 속성은 정적 속성과 인스턴스 속성으로 구분됩니다. 아래에 별도로 소개합니다.

1.1 정적 속성
(1) 인덱스 속성. 현재 표현 패턴의 첫 번째 일치 내용의 시작 위치이며 0부터 계산됩니다. 초기값은 -1이며, 일치가 성공할 때마다 인덱스 속성이 그에 따라 변경됩니다.
(2) 입력 속성. $_로 축약될 수 있는 현재 작업 중인 문자열을 반환하며 초기 값은 빈 문자열 ""입니다.
(3)lastIndex 속성. 현재 표현 패턴이 처음으로 일치하는 내용의 마지막 문자의 다음 위치입니다. 0부터 계산이 시작됩니다. 검색을 계속할 때 시작 위치로 자주 사용됩니다. 초기 값은 -1이며, 이는 검색을 의미합니다. 시작 위치부터 시작하며, 일치할 때마다 lastIndex 속성 값이 그에 따라 변경됩니다.
(4)lastMatch 속성. $&로 축약할 수 있는 현재 표현식 패턴의 마지막 일치 문자열입니다. 초기값은 빈 문자열 ""입니다. lastMatch 속성의 값은 일치가 성공할 때마다 변경됩니다.
(5)lastParen 속성. 표현식 패턴에 포함된 부분 일치가 있는 경우 이는 현재 표현식 패턴의 마지막 부분 일치와 일치하는 부분 문자열이며 $로 축약할 수 있습니다. 초기값은 빈 문자열 ""입니다. lastParen 속성의 값은 일치가 성공할 때마다 변경됩니다.
(6) leftContext 속성. 이는 현재 표현식 패턴에서 마지막으로 일치하는 문자열 왼쪽에 있는 모든 것입니다. $`로 축약할 수 있습니다(여기서 "'"는 키보드의 "Esc" 아래에 있는 역따옴표 표시입니다). 초기값은 빈 문자열 ""입니다. 일치가 성공할 때마다 해당 속성 값이 변경됩니다.
(7) rightContext 속성. 현재 표현식 패턴에서 마지막으로 일치하는 문자열의 오른쪽에 있는 모든 항목이며 $'로 축약할 수 있습니다. 초기값은 빈 문자열 ""입니다. 일치가 성공할 때마다 해당 속성 값이 변경됩니다.
(8) $1…$9 속성. 이러한 속성은 읽기 전용입니다. 표현식 패턴에 포함된 부분 일치가 있는 경우 $1...$9 속성 값은 각각 첫 번째부터 아홉 번째 부분 일치에 의해 캡처된 내용입니다. 하위 일치 항목이 9개보다 많은 경우 $1...$9 속성은 각각 마지막 9개 하위 일치 항목에 해당합니다. 표현식 패턴에서는 괄호로 묶인 부분 일치 항목을 원하는 만큼 지정할 수 있지만 RegExp 개체는 마지막 9개 부분 일치 항목의 결과만 저장할 수 있습니다. RegExp 인스턴스 개체의 일부 메서드에서 반환된 결과 배열에서 괄호 안의 모든 부분 일치 결과를 얻을 수 있습니다.

1.2 인스턴스 속성

(1) 전역 속성. RegExp 개체 인스턴스를 생성할 때 지정된 전역 플래그(g)의 상태를 반환합니다. RegExp 객체 인스턴스를 생성할 때 g 플래그가 설정되면 이 속성은 True를 반환하고, 그렇지 않으면 기본값은 False를 반환합니다.
(2)Case 속성을 무시합니다. RegExp 객체 인스턴스를 생성할 때 지정된ignoreCase 플래그(i)의 상태를 반환합니다. RegExp 객체 인스턴스를 생성할 때 i 플래그가 설정되면 이 속성은 True를 반환하고, 그렇지 않으면 기본값은 False를 반환합니다.
(3) multiLine 속성. RegExp 객체 인스턴스를 생성할 때 지정된 multiLine 플래그(m)의 상태를 반환합니다. RegExp 개체 인스턴스를 생성할 때 m 플래그가 설정되면 이 속성은 True를 반환하고, 그렇지 않으면 기본값은 False를 반환합니다.
(4) 소스 속성. RegExp 개체 인스턴스를 생성할 때 지정된 식 텍스트 문자열을 반환합니다.

JS의 RegExp 개체(2)

2 RegExp 개체의 메서드
RegExp 개체의 일반적인 메서드에는 test, exec 및 compile이 포함됩니다. , 이 섹션에서는 이러한 메서드의 기능과 사용법을 소개합니다. 마지막으로 RegExp 개체의 속성과 메서드에 대한 포괄적인 예가 제공됩니다.
2.1 테스트 방법
구문 형식은 test(str)입니다. RegExp 객체 인스턴스를 생성할 때 지정한 표현식 패턴이 문자열에 존재하는지 확인하여 존재하면 True를 반환하고, 존재하지 않으면 False를 반환하는 메서드입니다. 일치하는 항목이 발견되면 RegExp 개체의 관련 정적 속성이 업데이트되어 일치 항목을 반영합니다.
2.2 exec 메소드
구문 형식은 exec(str)입니다. 이 메서드는 RegExp 개체 인스턴스를 생성할 때 지정된 표현식 패턴을 사용하여 문자열을 검색하고 검색 결과가 포함된 배열을 반환합니다.
정규식에 전역 플래그(g)가 설정된 경우 exec 및 테스트 메서드를 여러 번 호출하여 문자열에서 연속 검색을 수행할 수 있으며, 매번 lastIndex에서 지정한 위치에서 문자 검색을 시작할 수 있습니다. RegExp 개체 문자열의 속성 값입니다.
전역 플래그(g)가 설정되지 않은 경우 exec 및 테스트 메서드는 RegExp 개체의 lastIndex 속성 값을 무시하고 문자열의 처음부터 검색을 시작합니다.
exec 메서드가 일치 항목을 찾지 못한 경우 반환 값은 null입니다. 일치 항목이 발견되면 배열이 반환되고 RegExp 개체의 관련 정적 속성이 일치 항목을 반영하도록 업데이트됩니다. 반환된 배열의 요소 0에는 완전한 일치 결과가 포함되고, 요소 1~n은 표현식 패턴에 정의된 각 부분 일치의 결과입니다.
exec 메소드에 의해 반환된 배열에는 input, index 및 lastIndex라는 세 가지 속성이 있습니다.
입력 속성은 검색되는 전체 문자열입니다.
index 속성은 검색된 문자열 전체에서 일치하는 위치를 나타냅니다.
lastIndex 속성은 일치하는 하위 문자열의 마지막 문자 옆에 있는 문자 위치를 나타냅니다.
코드 2.1은 이 방법을 적용한 예입니다.
코드 2.1 exec() 메소드 적용: 2.1.htm
코드 복사 코드는 다음과 같습니다.



exec() 메소드 애플리케이션<br>var myString="aaa 111 bbb 222 ccc 1111 222ddd"; <br>var regex = /111/; //정규 표현식 객체 생성<br>var array=regex.exec(myString) <br>if (array ){ <br>var str="일치하는 하위 문자열을 찾았습니다!" "n반환된 배열의 값:" array "n배열 요소 수:" <br> array.length "n검색된 문자열은 다음과 같습니다:" array. > "n개의 일치하는 하위 문자열의 시작 위치:" array.index <br> "n개의 일치하는 하위 문자열 뒤의 첫 번째 문자 위치:" regex.lastIndex <br>alert(str); >else{ <br>alert("일치하는 하위 문자열이 없습니다!!") <br></script> <br><body></body> <br><br> <br><br>2.3 컴파일 방법 <br><br><br>구문 형식은 compile("pattern"[,"flags"])입니다. 이 메서드는 RegExp 개체 인스턴스에서 사용하는 식 패턴을 대체하고 새 식 패턴을 내부 형식으로 컴파일하여 후속 일치 프로세스를 더 빠르게 만듭니다. 표현식을 루프에서 재사용하려는 경우 이를 컴파일하면 실행 속도가 빨라집니다. 그러나 프로그램에서 다른 표현식 패턴이 사용된 후에 원래 컴파일된 표현식 패턴이 사용되는 경우에는 이러한 컴파일의 이점이 없습니다.

2.4 종합 예시

Code 2.2는 RegExp 개체의 종합 예시이며 코드와 해당 작업 결과를 주의 깊게 분석하면 RegExp 개체를 더 잘 이해하는 데 도움이 됩니다.
코드 2.2 RegExp 객체 사용법: 2.2.htm


코드 복사

코드는 다음과 같습니다.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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)

PHP 정규 표현식으로 무언가로 시작하는 문자열을 바꾸는 방법 PHP 정규 표현식으로 무언가로 시작하는 문자열을 바꾸는 방법 Mar 24, 2023 pm 02:57 PM

PHP 정규 표현식은 텍스트 처리 및 변환을 위한 강력한 도구입니다. 텍스트 내용을 구문 분석하고 특정 패턴에 따라 대체하거나 가로채서 텍스트 정보를 효과적으로 관리할 수 있습니다. 그 중 정규식의 일반적인 적용은 특정 문자로 시작하는 문자열을 바꾸는 것입니다.

Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까? Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까? May 31, 2024 am 10:32 AM

Golang 정규 표현식은 파이프 문자 |를 사용하여 여러 단어 또는 문자열을 일치시키고 각 옵션을 논리적 OR 표현식으로 구분합니다. 예: "fox" 또는 "dog"와 일치: fox|dog은 "quick", "brown" 또는 "lazy"와 일치: (quick|brown|lazy)는 "Go", "Python" 또는 "Java"와 일치: Go| Python |Java는 단어 또는 4자리 우편번호와 일치합니다: ([a-zA

PHP에서 정규식을 사용하여 한자를 제거하는 방법 PHP에서 정규식을 사용하여 한자를 제거하는 방법 Mar 03, 2023 am 10:12 AM

일반 규칙을 사용하여 PHP에서 중국어를 제거하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. 중국어와 영어가 포함된 문자열을 정의합니다. 3. "preg_replace('/([\x80-\xff]*)/i'를 사용합니다. '',$a);" 일반 방법은 쿼리 결과에서 한자를 제거할 수 있습니다.

일반 매칭을 사용하여 PHP에서 HTML 태그를 제거하는 방법 일반 매칭을 사용하여 PHP에서 HTML 태그를 제거하는 방법 Mar 21, 2023 pm 05:17 PM

이 기사에서는 PHP 정규식을 사용하여 HTML 태그를 제거하고 HTML 문자열에서 일반 텍스트 콘텐츠를 추출하는 방법을 알아봅니다. HTML 태그를 제거하는 방법을 보여주기 위해 먼저 HTML 태그가 포함된 문자열을 정의해 보겠습니다.

MySQL의 REGEXP와 LIKE의 차이점은 무엇입니까? MySQL의 REGEXP와 LIKE의 차이점은 무엇입니까? May 30, 2023 pm 01:58 PM

1. 일치하는 내용의 차이 LIKE는 전체 데이터가 일치해야 하며 REGEXP는 부분 일치만 필요하며 하나의 조각만 충족하면 됩니다. 2. 일치 위치의 차이점: LIKE는 전체 열과 일치합니다. 일치하는 텍스트가 열 값에 나타나면 LIKE는 이를 찾지 않으며 해당 행은 반환되지 않습니다(REGEXP가 열 값 내에 사용되지 않는 한). 일치하는 텍스트가 열 값에 나타나면 REGEXP는 이를 찾아 해당 행을 반환하고 REGEXP는 전체 열 값을 일치시킬 수 있습니다(LIKE와 동일한 효과). 3. SQL 문은 LIKE 일치와 다른 데이터를 반환합니다: SQL 문

PHP 정규식을 사용하여 중국어 대체 함수 구현에 대한 팁 공유 PHP 정규식을 사용하여 중국어 대체 함수 구현에 대한 팁 공유 Mar 24, 2024 pm 05:57 PM

PHP 정규 표현식을 사용하여 중국어 대체 기능 구현에 대한 팁 웹 개발에서 중국어 콘텐츠를 대체해야 하는 상황에 자주 직면합니다. 널리 사용되는 서버측 스크립팅 언어인 PHP는 중국어 대체를 쉽게 실현할 수 있는 강력한 정규식 기능을 제공합니다. 이 기사에서는 정규식을 사용하여 PHP에서 중국어 대체를 구현하는 몇 가지 기술을 공유하고 구체적인 코드 예제를 제공합니다. 1. preg_replace 함수를 사용하여 중국어 대체를 구현합니다. PHP의 preg_replace 함수를 사용할 수 있습니다.

PHP 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법 PHP 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법 Jun 24, 2023 am 08:16 AM

웹사이트 보안은 점점 더 많은 관심을 받고 있으며, 데이터 전송 보안을 보장하기 위해 HTTPS 프로토콜을 사용하는 것은 현재 웹사이트 개발에서 중요한 부분이 되었습니다. PHP 개발에서 정규식을 사용하여 URL이 HTTPS 프로토콜인지 확인하는 방법은 무엇입니까? 여기 우리가 알아보러 왔습니다. 정규식 정규식은 규칙을 설명하는 데 사용되는 표현식으로, 텍스트 처리를 위한 강력한 도구이며 텍스트 일치, 검색 및 교체에 널리 사용됩니다. PHP 개발에서는 정규식을 사용하여 URL의 http를 일치시킬 수 있습니다.

Go 언어 문서 해석: regexp.FindAllString 함수에 대한 자세한 설명 Go 언어 문서 해석: regexp.FindAllString 함수에 대한 자세한 설명 Nov 04, 2023 pm 02:32 PM

Go 언어 문서 해석: regexp.FindAllString 함수에 대한 자세한 설명 정규 표현식은 텍스트 처리에서 중요한 역할을 합니다. Go 언어는 정규식 작업을 지원하기 위해 regexp 패키지를 제공합니다. 그중 regexp.FindAllString 함수에는 중요한 기능이 있습니다. 이 기사에서는 이 함수의 사용법과 해당 코드 예제를 자세히 설명합니다. regexp.FindAllString 함수의 기능은 제공된 문자열에서 정규식이 포함된 모든 문자열을 검색하여 반환하는 것입니다.

See all articles