CLIFX Regular Expression Tester 프로그램과 리포지터리를 공개합니다. :-)

사용자 삽입 이미지

리포지터리: http://source.clifx.com:8080/clifx-regex-tester/trunk

clifx-regex-tester.zip

CLIFX Regex Tester (2008-02-01 ver.) Download


Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

개인적으로 활용하려고 만든 레퍼런스이긴 하나 막상 만들어놓고보니 혼자서만 쓰기에는 아깝다는 느낌이 들어서 공개합니다. 많이들 활용하시길 바래요.

…    일반 문자열 자체를 의미한다.

예:    abc - 'abc', 'aabc' (O)

.    개행 문자 (즉 “\n")를 제외한 임의의 문자 한 개와 매치한다.

예:    a.c - 'abc' (O), 'ac' (X)

*    바로 앞에 있는 패턴이 0번 혹은 그 이상 반복되는 것을 의미한다.

예:    ab*c - a + b가 0개 이상 + c

[]    대괄호 안에 있는 임의의 문자와 매치하는 문자 클래스이다. 그러나 첫 번째 문자가 캐럿(“^”)이면 대괄호 안에 있는 문자를 제외한 어떠한 문자와도 매치한다는 의미가 된다. 대시(“-”)가 대괄호 안에 존재하면 대시 앞뒤 문자 사이의 범위를 가리킨다. 예를 들어, “[0-9]”는 “[0123456789]”와 동일한 의미이다. 문자 클래스에 대시나 대괄호(“]”)를 포함할 수 있도록 하기 위해서, “[” 바로 다음에 나타난 문자가 “-” 혹은 “]”이면 각각의 특별한 의미 없이 문자 그대로 해석한다. POSIX는 비 영어권 문자를 다룰 때 유용한 특수 대괄호를 도입하였다. 대괄호 안에서는 “\” 문자로 시작하는 C 언어의 이스케이프 시퀀스를 제외한 나머지 모든 메타 문자들이 특별한 의미를 상실한다.

예:    a[bcd]c - a + b, c, d 중 한 문자 + c

예:    a[^bcd]c - a + b, c, d가 아닌 한 문자 + c

예:    a[a-z]c - a + a ~ z 중 한 문자 + c

^    행의 시작에서 정규 표현식의 첫 번째 문자가 매치한다. 한편 대괄호 안에서는 부정의 의미로 사용된다.

예:    ^123 - 123, 1230 (O) | 0123 (X)

$    행의 끝에서 정규 표현식의 마지막 문자가 매치한다.

예:    123$ - 123, 0123 (O) | 1230 (X)

{}    괄호 안에 하나 또는 두 개의 숫자를 담고 있을 경우 괄호 앞에 있는 패턴이 몇 번 매치해야 하는지를 가리킨다. 예를 들면 A{1, 3}의 경우 문자 A가 최소 한 번에서 연속 세 번까지 나타나야 함을 뜻한다. 중괄호 안에 특정 이름을 담고 있다면, 그 이름으로 대체한다는 것을 의미한다.

{n}    {n} 바로 앞의 문자가 n개다.

예:    ab{2}c - a + b가 두 개 + c

{n,}    {n,} 바로 앞의 문자가 n개 이상이다.

예:    ab{2,}c - a + b가 두 개 이상 + c

{n, m}    {n, m} 바로 앞의 문자가 n개 이상 m개 이하이다.

예:    ab{2,4}c - a + b가 두 개 이상 4개 이하 + c

\    메타 문자들의 의미를 파기하고 C 언어 이스케이프 시퀀스를 표현하는 데 사용한다. 예를 들어, “\n"은 개행 문자이지만 ”\*“은 별표 그 자체를 나타낸다.

예:    \*, \+, \^

+    앞에 있는 정규 표현식이 한 번이나 그 이상 반복하여 매치할 수 있음을 의미한다. 예를 들면 [0-9]+ 와 같이 쓰일 수 있다. 이 패턴은 “1”, “111” 혹은 “123456”에 매치하지만, 빈 문자열에는 매치하지 않는다. 만약 플러스 기호 대신 별표를 이용하면 빈 문자열도 매치된다.

예:    ab+c - a + b가 1개 이상 + c

?    앞에 있는 정규 표현식이 0번이나 한 번 나타날 수 있음을 의미한다. 예를 들어 -?[0-9]+ 와 같은 패턴은 숫자 앞에 마이너스 기호를 붙이거나 붙이지 않을지를 결정할 수 있다.

예:    ab?c - a + b가 없거나 1개 + c

|    앞에 있는 정규 표현식 혹은 뒤에 있는 정규 표현식에 매치한다.

예:    cow|pig|apple - cow 또는 pig 또는 apple

“...”    따옴표 안에 있는 문자들은 C 언어의 이스케이프 시퀀스를 제외한 모든 메타 문자의 의미를 파기하고 문자 그대로 해석한다.

/    ‘/’ 뒤에 있는 정규 표현식이 매치하는 경우에 한해 ‘/’ 앞의 정규 표현식에 매치한다. 예를 들면 0/1의 경우 “01”과 같은 문자열 안에 있는 “0”에 매치하지만, “0” 또는 “02”아 같은 문자열에는 매치하지 않는다. 슬래시 뒤에 있는 패턴과 매치하는 부분은 “사용되지” 않으며, 다음 토큰 검색 과정에서 사용된다. 패턴 한 개 당 슬래시 하나만 허용된다.

()    정규 표현식 여러 개를 새로운 정규 표현식 한 개로 묶는다. 예를 들어 (01)의 경우 문자 시퀀스 01을 의미한다. 괄호는 *, +, 그리고 |와 함께 사용하여 복잡한 패턴을 구성할 때 매우 유용하게 쓰인다.

(?<GroupName>...)    그룹 매칭을 할 때 <GroupName> 부분이 나중에 프로그래밍 방식으로 결과를 탐색할 때 기준으로 사용된다. 뒤이어오는 ... 부분에 식을 쓴다.

예:    (?<First>[0-9]{6})\-(?<Last>[0-9]{7})

앞서 나열한 연산자 중에서 몇몇은 ([] 처럼) 문자 하나에 대해서만 작동하는 반면 다른 연산자는 정규 표현식 전체를 상대로 작동한다는 사실에 주목하기 바란다. 보통 복잡한 정규 표현식은 간단한 정규 표현식 여러 개를 모아서 만든다.

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

  1. Comment RSS : http://rkttu.com/rkttublog/rss/comment/85
  2. MrGeek 2006/12/29 21:44  편집/삭제  댓글 작성  댓글 주소

    옛날에도 그랬고 요즘도 자주 잘 참고하고 있습니다 . :D

  3. OpenID Logo몬난아 2008/07/24 11:31  편집/삭제  댓글 작성  댓글 주소

    제 내이버 블로그에 담아갈께요. 물론 출처 표시하구요
    그럼 Creative Commons License 에 위배 되진 않는거죠?
    ㅎㅎ 수고 하세요 좋은 정보 감사합니다.

    • OpenID Logo남정현 2008/07/24 17:39  편집/삭제  댓글 주소

      출처 표시와 함께 적절한 첨삭도 하실 수 있습니다. 다만 비영리 목적으로만 사용해주시면 문제되지 않습니다. :-)

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다