본문 바로가기
[ Web ]/JavaScript & JQUERY

정규표현식 참고 테이블

by 관이119 2012. 9. 12.

ysg999님의 블로그 | ysg999
http://blog.naver.com/ysg999/140035578680

제작일 2004 2

제작자 유섭교 (ysg999@naver.com)

Javascript RegExp 사용을 위한 설명

1. Special characters in regular expressions(정규표현식의 특수문자)

Character

의미

\

역슬러쉬는 특수 문자와 일반 문자를 표현한다

)

/b/ 그대로 비교되는 문자열의 b 만을 의미한다.

그러나 역슬러쉬를 쓰게 되면 말은 틀려진다.

/\b/ backspace 의미한다.

자바스크립트에서 /\t/, /\n/,/\s/ ,엔터,스페이스 등등 여러

가지가 있다.

그래서 특수 문자와 일반문자의 구별에 쓰이게 된다.

^

대상 문자열의 첫번째를 의미한다.

)

/^A/ “an A” 에서는 유효하지 않다. 첫번째에 소문자 a이므로

하지만 “An A” 에서는 유효하다. 첫번째에서 메치가 되므로

$

대상 문자열의 마지막을 의미한다.

)

/t$/ “eater” 에서는 유효하지 않다. (마지막에서 메치 않됨)

“eat” 에서는 유효하다. (마지막에서 메치가 되므로)

*

대상 문자열에서 비교될 문자열이 0개거나 이상 존재 해야

)

/bo*/ b 무조건 하나 o 0 혹은 이상이어도 만족함

/bo*/ “booooo” “A ghost booooed” 그리고 'b' 있는 것도 유효함. "A bird warbled" 그러나 “A goat grunted” 유효하지 않음

+

대상 문자열에서 비교될 문자열이 1개거나 이상 존재 해야

)

/a+/ 다음과 같은 경우 메치 되는 예이다.

“catch” 혹은 “caaaaaaandy”

?

대상 문자열에서 비교될 문자열이 0개거나 1 존재 해야

)

/e?le?/ “angel” 메치된다.e?l e l사이에서 e 하나

있거나 없어도 되기 때문이다. 그리고 ‘le’같은 경우는 “angle”

메치가 된다. le? 마지막 e 없거나 1 있어도 되므로

.

대상 문자열에서 비교될 문자열의 첫번째 문자를 제외한 개의 문자로만 메치됨.

)

/.n/ ‘an’이나 ‘on’ “nay, an apple is on the tree” 비교 되지

“nay”와는 메치 되지 않는다.

Character

의미

(x)

해당 x 값과 같은 패턴으로 되어진 문자열을 찾아 매치 시킨다

그리고 나서 매치시킨 스트링에서 다시 (x) 패턴이 있는지 찾아서

그걸 반환한다.

)

/(foo)/ “foo bar” 메치가 된다. foo라는 패턴이 문자열에

때문임

/(a)(b)(c)/ “abcd” 비교된다면 결과는 abc,a,b,c 형식으로

값을 반환하게 된다.

{n}

n 양수이며, 해당 문자열에 반드시 n만큼의 문자열이 들어가야

)

/a{2}/ “candy” 성립이 않되지만,“caandy” 혹은 “caaandy”

에서는 성립된다. 뒤의 caaandy에서는 두번째a

지만 해당됨

x | y

x y 아무거나 비교문자열과메치 된다면

)

/green|red/‘green’ “green apple”매치되며 “red apple”와도매치

{n , }

n 양수이며, 해당 문자열에 최소한 n이상의 문자열이 들어가야

)

/a{2}/ “candy” 성립이 않되지만,“caandy” 혹은 “caaandy”

에서는 성립된다.이건 n 이상 모두.. 포함

{n,m}

n m 양수이며, 해당 문자열에 최소한 n이상 최대 m 까지 문자열이 들어가야

)

/a{1,3}/ “cndy” 성립이 않되지만,“caandy” 혹은 “caaandy”

에서는 성립된다. 뒤의 caaandy에서는 세번째a

지만 해당됨. 그리고 “aaa” 해당됨.

[xyz]

비교될 문자열이 []안의 문자와 같은 것이 있다면 성립된다.

[]안에 들어갈 문자열의 순서가 순차적이라면 하이픈으로 대체할 수도 있다.

)

/[abcd]/ == /[a-d]/ 같은 결과가 성립된다.

“brisket” 비교될 문자열일 경우 ‘b’ 해당되므로 성립됨

[^xyz]

비교될 문자열이 []안의 문자와 같지 않은 것이 존재 한다면 성립이 된다. 그렇게 된다면 exec() 사용할 경우 같지 않은 부분을 첫번째 문자열을 가져오게 되고 test() 사용할 경우는 []문자열외에 다른 문자가 있다면 true 반환하겠지만 아무것도 없거나 []문자열만 있다면 false 반환

)

/[^abcd]/ “lpokabcd” 비교 exec() 사용하면 ‘l’

반환하고 test() 사용하면 true 반환한다.

“abcd”라면 exec() nulltest() false

[\b]

Back space 매치

\b

공백과 매치

)

/\bn\w/ “noonday”에서 “no” 매치됨

/\wy\b/ “possibly yesterday.”에서 “ly” 매치됨

Character

의미

\cX

\B

의미 공백이아니면 매치

)

/\w\Bn/ “noonday”에서 “on” 매치됨

“noo nday” 변경하면 n앞에 공백이 있어서 매치

조건이 성립되지 않음.

, 표현식은 (아무문자,공백아님,n) 순서로 구성되야함

\d

[0-9]까지의 캐릭터 셋이 매치됨

)

/\d/ or /0-9/ 라면 “B2 is the suite number” 라면 ‘2’ 매치됨

\D

[0-9] 아닌 나머지 캐릭터 셋과 매치됨

)

/\D/ or /^0-9/ 라면 “B2 is the suite number” 라면 ‘B’ 매치됨

\f

Form feed 매치(용지먹임 문자)

\n

Line feed 매치(줄먹임 문자)

\r

Carriage return 매치(되돌림 문자)

\s

Space character 매치

) [\f\n\r\t\v] form-feed, linefeed, carriage return, tab, veritical tab

/\s/ [\f\n\r\t\v] 같은 의미임

/\s\w*/ “foo bar”에서 “bar” 매치됨

\S

공백이 아닌 다음에 나오는 single character 매치됨

)

/\S/ [^\f\n\r\t\v] 같은 의미임

/\S\w*/ “foo bar”에서 “foo” 매치됨

\t

Tab 매치

\v

Vertical tab 매치

\w

알파벳대소문자 전체와 숫자 전체 그리고 언더스코어와 매치

)

[A-Za-z0-9_ ]

\W

위의 예를 나머지 문자(특수문자계열)

)

/\W/ or /^$A-Za-z0-9_ ]/일때 ‘%’ “50%” 매치됨

\n

\ooctal

\xhex

2. Method Summary (정규표현식의 메소드)

Method

설명

Compile

정규표현식 객체를 컴파일 한다.

exec

파라미터로 넘어오는 값중 정규 표현식에 매치되는 것을 찾아서 리턴한다.

test

파라미터로 넘어오는 값중 정규 표현식에 매치되는 것이 있으면 boolean값을 리턴한다.

toStource

Returns an object literal representing the specified object; you can use this value to create a new object. Overrides the Object.toSource method.

toString

정규표현식을 통한 객체의 값을 String 형태로 리턴한다.

valueOf

정규표현식을 통한 객체의 값을 Primitive 형태로 리턴한다.

댓글