웹 프론트엔드 JS 튜토리얼 JavaScript_기본 지식의 정규식에 대한 간략한 요약

JavaScript_기본 지식의 정규식에 대한 간략한 요약

May 16, 2016 pm 04:53 PM
javascript regexp 정규식

1. 정규식 정의 방법

정규식을 정의하는 방법에는 생성자 정의와 정규식 리터럴 정의의 두 가지가 있습니다. 예:

코드 복사 코드는 다음과 같습니다.
var reg1 = new RegExp('d{ 5, 11} '); // 생성자를 통해
정의 var reg2 = /d{5, 12}/ // 직접 수량을 통해
정의

정규식 리터럴 문자
o: NUL 문자(u0000)
t: 탭 문자(u0009)
n: 줄바꿈 문자(u000A)
v: 세로 탭 문자(u000B)
f: 폼 피드 문자(u000C)
r: 캐리지 리턴 문자(u000D)
xnn: 16진수 nn으로 지정되는 라틴 문자 예를 들어, x0A는 다음과 같습니다.
uxxxx: 16진수 xxxx로 지정된 유니코드 문자(예: u0009)는
🎜>과 동일합니다. ^: 여러 줄 검색에서 줄의 시작과 일치합니다.
$ : 문자열의 끝과 일치합니다. 여러 줄 검색에서 줄의 끝과 일치합니다.
b: 단어와 일치합니다. 경계는 간단히 말해서 문자 w와 W 사이의 위치 또는 문자 사이의 위치입니다. w 및 문자열의 시작 또는 끝([b]는 백스페이스 문자와 일치)
B: 일치하지 않음 단어 경계의 위치
(?=p): 너비가 0인 긍정적 예측 어설션, 다음을 필요로 함 p와 일치하는 문자는 다음과 같지만 p와 일치하는 문자는 포함하지 않습니다.
(?!p): 너비가 0인 부정 다음 문자열이 p와 일치하지 않도록 요구하는 미리보기를 주장합니다.
정규식 문자 클래스
[...]: 대괄호 안의 모든 문자
[^...]: 대괄호 안의 모든 문자
.: 개행 및 기타 유니코드 줄 종결자를 제외한 모든 문자
w: 모든 [a-zA-Z0-9]
에 해당하는 ASCII 문자로 구성된 단어 W: [^a-zA-Z0-9]
에 해당하는 ASCII 문자로 구성되지 않은 모든 단어 s: Any 유니코드 공백 문자
S: 유니코드가 아닌 공백 문자, w와 S에 주의하세요. 다름
d: [0-9]에 해당하는 모든 ASCII 숫자
D: ASCII 숫자를 제외한 모든 문자, 해당 to [^0-9]
[b]: 백스페이스 직접 수량(특수 사례)
정규 표현식의 반복 문자 구문
{n, m}: 이전 항목을 n번 이상 일치하지만 일치하지 않음 m회 이상
{n, }: 이전 항목을 n회 이상 일치
{n}: 이전 항목을 n회 일치
?: 이전 항목을 0회 또는 1회 일치합니다. 이전 항목은 선택사항이며 {0, 1}과 동일합니다.
: 이전 항목과 1회 이상 일치합니다. {1, }
과 동일합니다. *: 이전 항목과 0회 이상 일치합니다. {0, }
정규식 표현식의 선택, 그룹화 및 참조 문자
|: 선택, 기호 왼쪽의 하위 표현식 또는 오른쪽의 하위 표현식 일치
(...): 조합 , 여러 항목을 하나의 단위로 결합하면 이 단위는 "*", "", "?" 및 "|"와 같은 기호로 수정될 수 있으며, 이 그룹과 일치하는 문자열은 이후 사용 시 기억될 수 있습니다.
(? : ...): 조합만, 항목을 하나의 단위로 결합하지만 셔플링과 일치하는 문자를 기억하지 않습니다.
n: n번째 그룹의 첫 번째 일치 문자와 일치합니다. 그룹은 괄호 안의 하위 표현식입니다. 또한 중첩), 그룹 인덱스는 왼쪽에서 오른쪽으로 왼쪽 대괄호의 수이며 "(?:" 형식으로 그룹화됩니다. 인코딩되지 않습니다
정규식 수정자
i: 대소문자를 구분하지 않는 일치 수행
g: 전역 일치를 수행합니다. 즉, 첫 번째 일치 항목을 찾은 후 중지하는 대신 모든 일치 항목을 찾습니다.
m: 여러 줄 일치 모드, ^는 줄의 시작과 문자열의 시작과 일치, $는 The 줄의 끝과 문자열의 끝
패턴 일치를 위한 문자열 방법
search(): 해당 매개변수는 정규식이며 일치하는 하위 문자열이 없는 경우 첫 번째 일치하는 하위 문자열의 시작 위치를 반환합니다. -1이 반환됩니다. search()의 매개변수가 정규식이 아닌 경우 먼저 RegExp 생성자를 통해 정규식으로 변환됩니다. search()는 수정자 g를 무시하므로 전역 검색을 지원하지 않습니다. 예:


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

var s = "JavaScript".search(/script/i) // s = 4

replacement(): 검색 및 교체를 수행하는 데 사용됩니다. 두 개의 매개변수를 받습니다. 첫 번째는 정규식이고 두 번째는 대체할 문자열입니다. 정규식에 g 수정자가 설정된 경우 전역 대체가 수행되고, 그렇지 않으면 일치하는 첫 번째 하위 문자열만 대체됩니다. 첫 번째 인수가 정규식이 아닌 경우 정규식으로 변환되지 않고 문자열을 직접 검색합니다. 예:

코드 복사 코드는 다음과 같습니다.
var s = "JavaScript".replace( /java/gi , "스크립트"); // s = 스크립트 스크립트

Match(): 해당 매개변수는 정규식입니다. 그렇지 않은 경우 RegExp를 통해 변환되어 일치하는 결과로 구성된 배열을 반환합니다. 수정자 g가 설정되면 전역 일치가 수행됩니다. 예:

코드 복사 코드는 다음과 같습니다.
var d = '55 ff 33 hh 77 tt'.match (/d /g); // d = ["55", "33", "77"]

분할(): 이 메서드는 호출하는 문자열을 하위 문자열 배열로 분할하는 데 사용됩니다. 사용되는 구분 기호는 분할()의 매개 변수이며 해당 매개 변수는 정규 표현식일 수도 있습니다. 예:

코드 복사 코드는 다음과 같습니다.
var d = '123,31,453,645'. 분할(', '); // d = ["123", "31", "453", "645"]
var d = '21, 123, 44, 64, 67, 3'.split( /s*, s*/); // d = ["21", "123", "44", "64", "67", "3"]

2. RegExp 객체
각 RegExp 객체에는 5개의 속성이 있습니다. source 속성은 정규식의 텍스트를 포함하는 읽기 전용 문자열입니다. 전역 속성은 이 정규식에 수정자 g가 있는지 여부를 나타내는 읽기 전용 부울 값입니다. ignoreCase 속성은 이 정규식에 수정자 i가 있는지 여부를 나타내는 읽기 전용 부울 값입니다. multiline 속성은 이 정규식에 수정자 m이 있는지 여부를 나타내는 읽기 전용 부울 값입니다. lastIndex 속성은 읽고 쓸 수 있는 정수입니다. 일치하는 패턴에 g 수정자가 있으면 이 속성은 전체 문자열에서 다음 검색의 시작 위치를 저장합니다.
RegExp 개체에는 두 가지 메서드가 있습니다. exec()의 매개변수는 문자열이며 해당 기능은 match()와 유사합니다. exec() 메서드는 지정된 문자열에 대해 정규식을 실행합니다. 즉, 문자열에서 일치하는 검색을 수행합니다. 일치하는 항목이 없으면 null이 반환됩니다. 일치하는 항목이 있으면 이 배열의 첫 번째 요소에는 정규식과 일치하는 문자열이 포함되고 나머지 요소는 일치하는 하위 문자열입니다. 정규식에 수정자 g가 있는지 여부는 동일한 배열을 반환합니다. exec()를 호출하는 정규식 개체에 수정자 g가 있으면 현재 정규식 개체의 lastIndex 속성을 일치하는 하위 문자열 바로 옆의 문자 위치로 설정합니다. exec()가 동일한 정규 표현식으로 두 번째 호출되면 lastIndex 속성이 나타내는 문자열에서 검색을 시작합니다. exec()가 일치하는 결과를 찾지 못하면 lastIndex를 0으로 재설정합니다. 예:

코드 복사 코드는 다음과 같습니다.
var p = /Java/g;
var text = "JavaScript는 Java보다 재미있습니다!"
var r;
while((r = p.exec(text)) != null) {
     console.log(r, ' lastIndex: ' p .lastIndex);
}

또 다른 방법은 test()입니다. 해당 매개변수는 test()를 사용하여 정규식과 일치하는 결과를 포함하는 경우 true를 반환하고 그렇지 않으면 false를 반환합니다. 예:

코드 복사 코드는 다음과 같습니다.
var p = /java/i;
p.test('javascript'); // true
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 21, 2024 am 09:45 AM

PHP 정규식 확인: 숫자 형식 감지 PHP 프로그램을 작성할 때 사용자가 입력한 데이터를 확인해야 하는 경우가 종종 있습니다. 일반적인 확인 중 하나는 데이터가 지정된 숫자 형식을 준수하는지 확인하는 것입니다. PHP에서는 정규식을 사용하여 이러한 종류의 유효성 검사를 수행할 수 있습니다. 이 기사에서는 PHP 정규식을 사용하여 숫자 형식을 확인하고 구체적인 코드 예제를 제공하는 방법을 소개합니다. 먼저 일반적인 숫자 형식 유효성 검사 요구 사항을 살펴보겠습니다. 정수: 0~9의 숫자만 포함하고 더하기 또는 빼기 기호로 시작할 수 있으며 소수점을 포함하지 않습니다. 부동 소수점

정규식을 사용하여 Golang에서 이메일 주소를 확인하는 방법은 무엇입니까? 정규식을 사용하여 Golang에서 이메일 주소를 확인하는 방법은 무엇입니까? May 31, 2024 pm 01:04 PM

정규식을 사용하여 Golang에서 이메일 주소를 확인하려면 다음 단계를 따르세요. regexp.MustCompile을 사용하여 유효한 이메일 주소 형식과 일치하는 정규식 패턴을 만듭니다. MatchString 함수를 사용하여 문자열이 패턴과 일치하는지 확인합니다. 이 패턴은 다음을 포함하여 대부분의 유효한 이메일 주소 형식을 다룹니다. 로컬 사용자 이름에는 문자, 숫자 및 특수 문자가 포함될 수 있습니다: !.#$%&'*+/=?^_{|}~-`도메인 이름에는 최소한 다음이 포함되어야 합니다. 문자 1개 뒤에 문자, 숫자 또는 하이픈이 옵니다. 최상위 도메인(TLD)의 길이는 63자를 초과할 수 없습니다.

PHP 정규식: 퍼지 포함의 정확한 일치 및 제외 PHP 정규식: 퍼지 포함의 정확한 일치 및 제외 Feb 28, 2024 pm 01:03 PM

PHP 정규식: 정확한 일치 및 제외 퍼지 포함 정규식은 프로그래머가 텍스트를 처리할 때 효율적인 검색, 바꾸기 및 필터링을 수행하는 데 도움이 되는 강력한 텍스트 일치 도구입니다. PHP에서는 정규식도 문자열 처리 및 데이터 일치에 널리 사용됩니다. 이 기사에서는 PHP에서 정확한 일치를 수행하고 퍼지 포함 작업을 제외하는 방법에 중점을 두고 구체적인 코드 예제를 통해 설명합니다. 완전 일치 완전 일치는 변형이나 추가 단어가 아닌 정확한 조건을 충족하는 문자열만 일치하는 것을 의미합니다.

Go에서 정규식을 사용하여 타임스탬프를 일치시키는 방법은 무엇입니까? Go에서 정규식을 사용하여 타임스탬프를 일치시키는 방법은 무엇입니까? Jun 02, 2024 am 09:00 AM

Go에서는 정규식을 사용하여 타임스탬프를 일치시킬 수 있습니다. ISO8601 타임스탬프를 일치시키는 데 사용되는 것과 같은 정규식 문자열을 컴파일합니다. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString 함수를 사용하여 문자열이 정규식과 일치하는지 확인합니다.

간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 Jan 05, 2024 pm 06:08 PM

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 무엇입니까? Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 무엇입니까? Jun 02, 2024 pm 07:31 PM

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 다음과 같습니다. 최소 비밀번호 요구 사항(소문자, 대문자, 숫자, 특수 문자를 포함하여 8자 이상)을 충족하는 정규식 패턴을 정의합니다. regexp 패키지의 MustCompile 함수를 사용하여 정규식 패턴을 컴파일합니다. MatchString 메서드를 사용하여 입력 문자열이 정규식 패턴과 일치하는지 테스트합니다.

JavaScript에서 HTTP 상태 코드를 쉽게 얻는 방법 JavaScript에서 HTTP 상태 코드를 쉽게 얻는 방법 Jan 05, 2024 pm 01:37 PM

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가

Golang에서 정규식으로 URL을 감지하는 방법은 무엇입니까? Golang에서 정규식으로 URL을 감지하는 방법은 무엇입니까? May 31, 2024 am 10:32 AM

정규식을 사용하여 Golang에서 URL을 탐지하는 단계는 다음과 같습니다. regexp.MustCompile(pattern)을 사용하여 정규식 패턴을 컴파일합니다. 패턴은 프로토콜, 호스트 이름, 포트(선택 사항), 경로(선택 사항) 및 쿼리 매개 변수(선택 사항)와 일치해야 합니다. URL이 패턴과 일치하는지 확인하려면 regexp.MatchString(pattern,url)을 사용하세요.

See all articles