본문 바로가기

프로그래밍/JavaScript & jQuery

[JavaScript]RegExp 정규 표현 객체

정규 표현 객체 생성 기본형

var 참조 변수 = new RegExp(패턴, 검색 옵션)

var 참조 변수 = /패턴/검색 옵션

 

정규 표현 메서드

test() : 지정된 규칙에 맞는 단어가 있으면 true 값을 반환한다.

exec() : 지정된 규칙에 맞는 단어가 있으면 해당 단어를 반환한다.

 

//이름

reg1 = /^[가-힣]{2,5}$/;

//휴대폰번호

reg2 = /^(010|016|011)\d{3,4}\d{4}$/;

//이메일

reg3 = /^\w{5,12}@[a-z]{2,10}[\.][a-z]{2,3}[\.]?[a-z]{0,2}$/;

 

정규 표현 검색 옵션

종류 

설명 

 *

 0회 이상 일치하는 문자를 검사할 때 사용한다

 +

 1회 이상 일치하는 문자를 검사할 때 사용한다

 i

 찾는 문자가 영문일 경우 대.소 문자를 구분하지 않는다.

 ?

 0회 또는 1회, 규칙에 맞는 문자가 있는지 검사한다.

 g

 옵션에 g가 없으면 데이터의 왼쪽부터 규칙에 일치하는 문자 한 개만 찾지만, g를 넣으면규칙에 맞는 모든 문자를 찾는다.

 m

 데이터의 행이 바뀌어도 규칙에 맞는 문자를 찾는다.

 $

 문자열 부분에 규칙에 맞는 문자를 찾는다.

 &

 문자열 앞에서부터 규칙에 일치하는 문제를 찾는다. 또는 부정을 나타낸다.

 \d

 숫자 하나를 찾는다.

 \D

 숫자가 아닌 문자 하나를 찾는다.

 \s

 공백 문자(스페이스)를 찾는다.

 [0-9][A-Z][a-z]

 숫자, 대문자 영문, 소문자 영문을 찾는다.

 \w

 알파벳, 숫자, 밑줄(_) 기호를 찾는다.

 \W

 알파벳, 숫자, 밑줄(_) 기호를 제외한 문자를 찾는다.

 a|b

 a 또는 b인지 검사할때 사용한다.

 

 

[정규 표현식의 기본 문법 정리]

                                                                            - 참조 : 손에 잡히는 정규 표현식

관련 문법 내용

기  호

의  미

기본 메타 문자

.

 모든 문자와 일치 (한 문자)

|(버티컬 바)

 왼쪽 혹은 오른쪽과 일치

[^]

 문자 집합 구성원 중 하나와 일치

-

 문자 집합 구성원을 제외하고 일치

\

 다음에 오는 문자를 이스케이프

수량자

*

 문자가 없는 경우나 하나 이상 연속하는 문자 찾기

*?

 게으른 * 문자

+

 문자 하나 이상 찾기

+?

 게으른 + 문자

?

 문자가 없거나 하나인 문자 찾기

{n}

 정확히 요소와 n번 일치

{m, n}

 요소와 m에서 n번 일치

{n, }

 요소와 n번 이상 일치

{n, }?

 게으른 {n, }

위치 지정

^

 문자열의 시작과 일치

\A

 문자열의 시작과 일치

$

 문자열의 끝과 일치

\Z

 문자열의 끝과 일치

\<

 단어의 시작과 일치

\>

 단어의 끝과 일치

\b

 단어의 경계와 일치

\B

 \b와 반대로 일치

특수한 문자

[\b]

 역 스페이스

\c

 제어문자와 일치

\d

 모든 숫자와 일치

\D

 /d와 반대

\f

 페이지 넘기기 (form feed)

\n

 줄바꿈

\r

 캐리지 리턴

\s

 공백 문자와 일치

\S

 \s와 반대로 일치

\t

 탭

\v

 수직 탭

\w

 영숫자 문자나 밑줄과 일치

\W

 \w와 반대로 일치

\x

 16진수 숫자와 일치

\0 (숫자)

 8진수 숫자와 일치

     역참조와

   전후방 탐색

( )

 하위 표현식 정의

\1(숫자)

 첫번째 일치한 하위 표현식,

 두번째로 일치한 하위 표현식은 \2로 표기하는 방식

?=

 전방탐색

?<=

 후방탐색

?!

 부정형 전방탐색

?<!

 부정형 후방탐색

?(backreference)true

 조건 지정

?(backreference)true|false

 else 표현식 조건 지정 

대소문자 변환

\E

 \L 혹은 \U 변환을 끝냄

\I

 다음에 오는 글자를 소문자로 변환

\L

 \E를 만날 때까지 모든 문자를 소문자로 변환

\u

 다음에 오는 글자를 대문자로 변환

\U

 \E를 만날 때까지 모든 문자를 대문자로 변환

변경자

(?m)

 다중행 모드