JavaScript 정규 표현식

정규 표현식은 검색 패턴을 구성하는 문자 시퀀스입니다.

이 검색 패턴은 텍스트 검색 및 텍스트 대체 작업에 사용될 수 있습니다.

정규 표현식이 무엇인가요?

정규 표현식은 검색 패턴을 구성하는 문자 시퀀스입니다.검색 패턴(search pattern)의 문자 시퀀스.

문자열에서 데이터를 검색할 때, 검색할 내용을 설명하는 검색 패턴을 사용할 수 있습니다.

정규 표현식은 단일 문자일 수도 있고, 더 복잡한 패턴일 수 있습니다.

정규 표현식은 모든 유형의텍스트 검색텍스트 대체작업.

문법

/pattern/modifiers;

예제

var patt = /codew3c/i;

예제 설명:

/codew3c/i 은 정규 표현식입니다。

codew3c 는 패턴(pattern)입니다(검색에서 사용됩니다).

수정자 는 수정자(modifiers)로, 검색을 대소문자를 무시하는 것으로 변경합니다。

문자열 메서드를 사용하여

JavaScript에서 정규 표현식은 두 가지 용도로 사용됩니다문자열 메서드search()문자열 메서드 replace()를 사용하여 문자열을 처리합니다

search() 메서드는 표현식을 사용하여 일치하는 것을 검색하고, 일치하는 위치를 반환합니다。

문자열 메서드 replace()를 사용하여 문자열을 처리합니다 메서드는 대체된 모델이 수정된 문자열을 반환합니다。

문자열 메서드 search()를 사용하여 문자열을 처리합니다

search() 메서드는 문자열로 전달된 검색 매개변수를 정규 표현식으로 변환받습니다:

예제

문자열을 사용하여 "W3school"의 검색을 수행합니다:

var str = "Visit CodeW3C.com!";
var n = str.search("W3School"); 

직접 테스트해 보세요

정규 표현식을 사용하여 문자열 메서드 search()에서

예제

정규 표현식을 사용하여 문자열에서 "codew3c"의 대소문자를 무시하는 검색을 수행합니다:

var str = "Visit CodeW3C.com";
var str = "Visit CodeW3C.com"; 

var n = str.search(/codew3c/i);

n의 결과는 다음과 같을 것입니다:

직접 테스트해 보세요

6

문자열 메서드 replace()를 사용하여 문자열을 처리합니다 replace()

대소문자를 무시하는 정규 표현식을 사용하여 문자열에 W3school을 Microsoft으로 대체합니다:
도 문자열 매개변수로 받아들입니다: 

직접 테스트해 보세요

var res = str.replace("Microsoft", "W3School");

예제

정규 표현식을 사용하여 문자열 메서드 replace()에서 매칭합니다

대소문자를 무시하는 정규 표현식을 사용하여 문자열에 W3school을 Microsoft으로 대체합니다:
var str = "Visit Microsoft!"; 

var res = str.replace(/microsoft/i, "W3School");

res의 결과는 다음과 같을 것입니다:

직접 테스트해 보세요

Visit CodeW3C.com!

결과를 주목해보셨나요?

정규 표현식 매개변수는 메서드에서 문자열 매개변수 대신 사용할 수 있습니다.

정규 표현식은 검색을 더 강력하게 만들 수 있습니다(예:대소문자를 무시합니다).

대소문자를 무시하는 더 일반적인 검색에 사용할 수 있습니다:정규 표현식 수정자

대소문자를 무시하는 더 일반적인 검색에 사용할 수 있습니다: 설명 시도해보세요
수정자 대소문자를 무시하는 매칭을 실행합니다. 시도해보세요
g 전체 매칭을 실행합니다(첫 번째 매칭을 찾은 후 중지되지 않고 모든 매칭을 찾습니다). 시도해보세요
m 다중 행 매칭을 실행합니다. 시도해보세요

정규 표현식 패턴

괄호특정 범위의 문자열을 찾기 위해 사용됩니다:

표현식 설명 시도해보세요
[abc] 괄호 사이의 모든 문자를 찾습니다. 시도해보세요
[0-9] 0에서 9의 모든 숫자를 찾습니다. 시도해보세요
(x|y) |로 구분된 모든 옵션을 찾습니다. 시도해보세요

원자문자(Metacharacter)특별한 의미를 가진 문자입니다:

원자문자 설명 시도해보세요
\d 숫자를 찾습니다. 시도해보세요
\s 공백 문자를 찾습니다. 시도해보세요
\b 단어 경계를 매칭합니다. 시도해보세요
\uxxxx 16진수xxxx로 정의된 유니코드 문자를 찾습니다. 시도해보세요

Quantifiers 수량자를 정의합니다:

수량자 설명 시도해보세요
n+ n이 포함된 최소한 하나의 문자열을 매칭합니다. 시도해보세요
n* n이 포함된 모든 문자열을 매칭합니다. 시도해보세요
n? n이 포함된 모든 문자열을 매칭합니다. 시도해보세요

RegExp 객체를 사용합니다.

JavaScript에서 RegExp 객체는 предопределенными 속성과 메서드를 가진 정규 표현식 객체입니다.

test()를 사용합니다.

test() 정규 표현식 메서드입니다.

문자열을 모델을 통해 검색한 후 결과에 따라 true 또는 false를 반환합니다.

아래의 예제는 문자열 내에 "e" 문자를 검색합니다:

예제

var patt = /e/;
patt.test("The best things in life are free!"); 

문자열에 "e"가 하나 있기 때문에, 위 코드의 출력은 다음과 같습니다:

true

직접 테스트해 보세요

정규 표현식을 먼저 변수에 넣지 않아도 됩니다. 위 두 줄은 다음과 같이 단一行으로 줄일 수 있습니다:

/e/.test("The best things in life are free!");

exec() 사용

exec() 메서드는 정규 표현식 메서드입니다.

지정된 패턴을 통해 문자열을 검색하고 발견된 텍스트를 반환합니다.

일치하는 내용이 없으면 null을 반환합니다.

아래의 예제는 문자열 내에 "e" 문자를 검색합니다:

예제

/e/.exec("The best things in life are free!");

문자열에 "e"가 하나 있기 때문에, 위 코드의 출력은 다음과 같습니다:

e

직접 테스트해 보세요

완전한 RegExp 참조 매뉴얼

완전한 참조 매뉴얼을 보려면 우리의 완전한 JavaScript RegExp 참조 매뉴얼

이 참조 매뉴얼은 모든 RegExp 속성 및 메서드의 설명과 예제를 포함하고 있습니다.