문자열중에 ,(콤마)를 검색한다.

var pattern:RegExp = /,/;

str.replace(pattern, "");


문자열 중에 a를 검색한다.
i 는 대소문자를 구별하지 않을때 붙인다.
g 는 한번이 아닌 여러번..??, (음.. asdfasdf 여기서 a가 두번 나오는데 두번 다 한다는거던가. 테스트 해보시길;;)

var pattern:RegExp = /a/ig;

str.replace(pattern, "");

\d{3} 숫자 3개가 옴
\d{1,3} 숫자 1개에서 3개가 옴


[전화번호 패턴]

var pattern:RegExp = /^\d{2,3}-\d{3,4}-\d{4}$/;

/^\d{2,3}-?\d{3,4}-?\d{4}$/


[이메일 패턴]
var pattern:RegExp = /(\w|[_. \-])+@((\w|-)+\. ) +\w{2,4}+/;
한글 포함
var re : RegExp = /(\w|[_.\-가-힣])+@((\w|[_\-가-힣])+\.)+\w{2,4}+/;


[HTML 패턴]

String reghtml = "<(\"[^\"]*\"|'[^']*'|[^'\">])*>";

content = content.replaceAll(reghtml, "");



// <a href="<%=request.getParameter("p")">adsf</a> --> <a href='<%=request.getParameter("p")'>adsf</a>
content = content.replaceAll("(<\\w+:(?:[^>]|<%=[^%]+%>)+=)\"([^<\"]*<%=[^%]*\"[^%]*%>[^\"]*)\"", "$1'$2'");


[공백연속 패턴]

var a = "asdfnaf   dd";

a = a.replace(/[\s,]+/g, "");

alert(a);


[줄바꿈 패턴]

^\R



반복 메타 문자

반복 메타 문자

의미

*

0회 이상 방복

+

1회 이상 반복

?

0회 혹은 1회

{m}

m회 반복

{m,n}

m회부터n회까지 반복


매칭 메타 문자

메타 문자

의미

.

줄바꿈 문자를 제외한 모든 문자와 매치됨

^

문자열의 시작과 매치됨.

[]메타 기호 안에서는 반대의 문자열을 취함

$

문자열의 마지막과 매치됨

[]

문자 집합 중 한 문자를 의미함

|

또는(or)를 의미함

()

정규식을 그룹으로 묶음


이스케이프 기호

분야

설명

\\

역슬래쉬 문자 자체

\d

모든 숫자와 매치됨 [0-9]

\D

숫자가 아닌 문자와 매치됨[^0-9]

\s

화이트 스페이스 문자와 매치됨[ \t\n\r\f\v]

\S

화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v]

\w

숫자 또는 문자와 매치됨[a-zA-Z0-9_]

\W

숫자 또는 문자가 아닌 것과 매치됨[^a-zA-Z0-9_]

\b

단어의 경계를 나타냄. 단어는 영문자 혹은 숫자의 연속 문자열.

\B

단어의 경계가 아님을 나타냄.


최소 매칭을 위한 정규식

기회

의미

*?

*와 같으나 문자열을 취소로 매치함.

+?

+와 같으나 문자열을 취소로 매치함.

??

?와 같으나 문자열을 최소로 매치함.

{m,n}?

{m.n}과 같으나 문자열을 최소로 매치함


re모듈의 주요 메소드

메소드

설명

compile(patten[, flags])

pattern을 컴파일하여 정규식 객체를 리턴한다.

search(pattern, string[,flags])

string을 검사하여pattern에 맞는 문자열 부분이 있는가를 찾는다.

match(pattern, string[,flags])

string의 시작부터 pattern에 맞는지 검사한다.

split(pattern, string[, maxsplit=0])

string을 pattern을 기준으로 분리한다.

findall(pattern, string)

string에서 pattern을 만족하는 모든 문자열을 추출한다.

sub(pattern, repl, string[, count-0])

string에서 pattern을 repl로 대치한다.

subn(pattern, repl, string[,count=0])

sub와 동일하나 대치 횟수도 함께 전달한다.

escape(string)

영문자 숫자가 아닌 문자들을 백슬래쉬 처리해서 리턴한다. 임의의 문자열을 정규식패턴으로 사용할 경우 유용하다.


정규 표현식에서 사용 가능한 플래그

플래그

내용

I, IGNORECATE

대, 소문자를 구별하지 않는다.

L, LOCATE

\w, \W, \b, \B를 현재의 로케일에 영향을 받게한다.

M, MULTILINE

^가 문자열의 맨 처음, 각 라인의 맨 처음과 매치된다.

$는 문자열의 맨 끝, 각 라인의 맨 끝과 매치된다.

S, DOTALL

.을 줄바꾸기 문자도 포함하여 매치하게 한다.

U, UNICODE

\w, \W, \b, \B가 유니코드 문자 특성에 의존하게 한다.

X, VERBOSE

정규식 안의 공백은 무시된다.


+ Recent posts