|
|
|
|
|

월간 인기 게시물

게시물 57건
   
정규 표현식의 규칙
글쓴이 : 최고관리자 날짜 : 2010-01-22 (금) 14:45 조회 : 7673
글주소 :
                          

정규 표현식의 규칙

1. '.' 특수 문자

 사용예

해당 문자열 

 s.e  sae, sbe, sce, sde
 .ce  ace, kce, ffce

 

2. '*' 특수 문자

'*'는 바로 앞의 문자를 의미하며 그 문자가 없거나 하나 이상임을 나타낸다. '.'는 그 자체로 임의의 한 글자만을 의미하는 데 반해 '*'는 바로 복수 개의 문자를 나타낼 수 있다. 대신 '*' 앞에는 반드시 문자가 하나 이상 있어야 한다.

만약 "*e"와 같이 '*' 앞에 문자가 없으면 잘못된 패턴으로 인식해 에러가 발생

 사용예

 내 용

 해당 문자열

 s*e  e앞에 s가 없거나 하나 이상 존재하는 모든 문자열을 나타낸다  e, se, sse, ssse ...
 abc*  ab 다음에 c가 없거나 하나 이상 존재하는 모든 문자열을 나타낸다  ab, abc, abcc, abccc ...
 h*im  im 앞에 h가 없거나 하나 이상 존재하는 모든 문자열을 나타낸다.  im, him, hhim, hhhim ... 

 

3. '+' 특수 문자

'+'는 바로 앞의 문자를 의미하며 그 문자가 하나 이상임을 나타낸다. '*'와 마찬가지로 앞에 한 문자가 있어야 하며 이 문자가 최소 하나 이상 존재하는 모든 문자열을 포함한다.

 사용예

내 용 

해당 문자열 

 s+e

 문자 e앞에 s가 최소한 하나 이상 존재하는

모든 문자열

 se, sse, ssse, sssse, settle ...

 

4. '?' 특수 문자

'?'는 바로 앞의 문자가 없거나 혹은 있음을 나타낸다. 예를 들면 s?e는 '?'앞의 문자 s가 없거나 하나 존재하는 문자열 e나 se를 포함

 사용예

내 용 

해당 문자열

 th?e

 t와 e사이에 h가 하나 있거나 혹은 없는

문자열과 일치

 te. the, their, lotte....

 

5. '^' 특수 문자

바로 뒤의 문자열을 기준으로 이것과 동일한 문자열로 시작되는 것을 가리킨다.

 사용예

내 용 

해당 문자열 

 ^The The로 시작하는 모든 문자열  The girl is beautiful!, Theater ... 
 ^a?bc bc나 abc로 시작하는 모든 문자열  bc++ 3.0, abcdef) 
 ^.e

e앞에 한 글자가 존재하는 문자열로

시작하는 모든 문자열 

he, me, request, settle ... 
 ^s.e?

s와 임의의 한 문자로 시작하고 그 뒤에

문자 e가 하나 있거나 혹은 없는 문자열 

sa, sae, sb, sbe ... 

 

6. '$' 특수 문자

문자열의 맨 마지막을 가리킨다.

 사용예  내 용   해당 문자열 
 a?bc$

bc로 끝나는 문자열 앞에 문자 a가 없거나

하나 존재하는 문자열과 일치 

eeabc, seebc, bc ... 
 t.e$

t와 임의의 한 글자, 그리고 그 다음에 e로

연결되어 끝나는 문자열과 일치 

onthetoe, bctae, appetitte ... 
 s?e+$

첫 글자는 s나 e로 시작하고 하나 이상의

e로 끝나는 문자열과 일치 

e, se, ee, eee, see, seeee ... 
 ^the$

the로 시작해서 the로 끝나는 문자열과

일치한다. 즉, 이 경우는 문자열 자체가 the

뿐인 경우에만 일치한다. 

the 

 

7. '[]' 특수 문자

[]안에 있는 문자열 중에서 하나의 문자만을 의미한다. []안에서 범위를 지정할 때에는 '-' 문자를 사용한다.

즉, [a-d]는 [abcd]와 동일하며 [0-9]는 [0123456789]와 같은 의미

 사용예

내 용 

해당 문자열 

 [ab]cd acd, bcd를 포함하는 문자열  acd, tacde, "bcd", "tbcde" ... 
 ^[ab]cd acd, bcd로 시작하는 문자열  acds, bcdt, acdsee32 ... 
 [a-z] 영문 소문자 한 글자를 포함하는 문자열  a0c2ds, ta123cde, Student ... 
 [a-zA-Z]

영문 소문자나 대문자 한 글자를 포함하는

문자열과 일치 

LINUX, 386AT ... 
 [0-9] 십진수 한자를 포함하는 문자열   a0c2ds, ta123cde, 386 ...
 ga[a-z] 하나의 영문 소문자 앞에 ga를 갖는 문자열  LINgazUX, gazzett ... 
 ^ab[cd]ef abcef 또는 abdef로 시작하는 문자열  abcef0z, abdef386 ... 
 ^[a-zA-Z] 문자로 시작하는 모든 문자열과 일치  LINgazUX, abcef0z ... 
 [a-z]+ 영문소문자 한자 이상을 갖는 문자열  tgabcabcef, MySQL ... 
 [aA][bB] ab, aB, Ab, AB를 포함하는 문자열  386ABIT, abcef0z, tgabcabcef ... 
 ,[a-zA-Z0-9]$ 콤마와 하나의 영문자 또는 숫자로 끝나는 문자열과 일치  abdef38,6, 199,2 ... 

 

* 만일 원하지 않는 문자를 제외한 나머지 문자를 가리킬 때에는 []안의 첫 문자로 '^'를 사용

 사용예

 내 용

해당 문자열 

 [^ab]cd acd와 bcd를 제외하는 패턴 .cd와 같다.  ccd, scd, 018cd, tgcdcdabcef, gazcd18 
 s[^ab]t sat와 sbt를 제외하는 패턴, s.t와 같다.  sct, sdt, tgcdsctda28, settle 
 [^a-z]

영문 소문자를 제외한 한글자를 포함한

문자열과 일치 

MySQL, 386sAB, IT, abcef0z, 199,2 ... 
 [^a-zA-Z] 영문자를 제외한 한글자를 포함하는 문자열  386sAB, IT, gazscd18, abcef0z, 199,2 ... 
 [^0-9] 숫자를 제외한 한글자를 포함하는 문자열  settle, gazscd18, LINUX ... 

 

8. '{}' 특수 문자

{}앞에 있는 문자나 문자열의 개수를 결정

 사용예

내 용 

해당 문자열 

 a{2}b

aab를 가진 문자열과 일치, 즉 {2}는 {}앞에

있는 문자 a의 개수가 2개임을 의미

 aab
 a{2,}b a의 개수가 최소한 2개 이상인 문자열  aab, aaab, aaaab 
 a{1,3}b b앞에 1개부터 3개까지의 a를 갖는 문자열   ab, aab, aaab

''*'는 중괄호로 표현하면 {0,}과 같은 의미이고 '+'는 {1,}과 '?'는 {0,1}과 각각 같은 의미임을 알 수 있다.

 

9. '( )' 특수 문자

( ) 안에 있는 글자들을 그룹화 한다.

 사용예

내 용

해당 문자열

 a(bc){2}

a뒤에 bc의 개수가 두 개인 문자열 abcbc를

포함하는 모든 문자열과 일치, (bc)는 bc를

하나의 그룹으로 처리

docabcbctor, tabcbc++ ... 
 a(bc)* a뒤에 bc가 없거나 하나 이상인 문자열  sea, abcd, abcbcbcbc ... 

 

10. '|' 특수 문자 : OR 연산자

 사용예

내 용 

해당 문자열 

 he|she he나 she를 포함하는 문자열  he is hansome, she's gone. 
 (he|she)is is앞에 he나 she를 포함하는 문자열   
 (le|li)*ft ft앞에 le나 li가 없거나 하나 이상인 문자열  mlefto, lft, lelift, fclelelilefte ... 
 mo(no)+ mo뒤에 no가 하나 이상인 문자열  mono, monono, mononono 

 

 

문자 클래스(character class)

 

패턴을 [a-z]나 [A-Z], [0-9]로 표현하는 대신 다음과 같이 문자 클래스(character class)로 간단하게 표현할 수도 있다.

- [[:alpha:]] : 알바벳 문자 중 하나를 의미하며 [a-zA-Z], 또는 [a-Z]와 동일한 표현

- [[:digit:]] : 숫자 한 자를 의미하며  [0-9]와 동일한 표현

- [[:alnum:]] : 알파벳 문자나 숫자 중 하나를 의미하며 [a-zA-Z0-9]와 동일한 표현

- [[:space:]] : 공백 문자()를 의미


이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.