아래 내용은 다음을 참고하였음을 미리 밝힙니다.
-> 프로그래밍도서: 자바의정석



 정규식이란 텍스트 데이터 중에서 원하는 조건(패턴, pattern)과 일치하는 문자열을 찾아내기 위해 사용하는 것이다.
정규식을 이용하면 많은 양의 텍스트 파일 중에서 원하는 데이터를 손쉽게 뽑아 낼 수 있다. 또한 입력된 데이터가 형식에 맞는지 체크도 할 수도 있다.

String[] data = {"bat", "baby", "bonus", "cA", "ca", "co", "c.",  "c0", "car", "combat", "count", "date", "disc"}; 

 data 변수에 저장된 문자열이 다음과 같을 때, 

 
 정규식 패턴 설명  결과 
 c[a-z]*  c로 시작하는 영어단어   c, ca, co, car, combat, count,
 c[a-z]  c로 시작하는 두 자리 영어단어   ca, co,
 c[a-zA-Z]   c로 시작하는 두자리 영어단어
(a~z or A~Z, 대소문자 구분안함) 
 cA, ca, co,
 c[a-zA-Z0-9]c\w  c로 시작하고 숫자와 영어로 조합된 두 글자   cA, ca, co, c0, 
 .*  모든 문자열  bat, baby, bonus, c, cA, ca, co, c., c0, c#, car, combat, count, date, disc,  
 c.  c로 시작하는 두 자리  cA, ca, co, c., c0, c#, 
 c.*  c로 시작하는 모든 문자열(기호포함)   cA, ca, co, c., c0, c#, car, combat, count, 
 c\.  c.와 일치하는 문자열'.'은 패턴작성에 사용되는 문자이므로 escape문자인 '\'를 사용해야 한다  c., 
 c\d
 c[0-9] 
 c와 숫자로 구성된 두 자리 문자열  c0,  
 c.*t  c로 시작하고 t로 끝나는 모든 문자열  combat, count, 
 [b|c].*
 [bc].*
 [b-c].* 
 b 또는 c로 시작하는 문자열 bat, baby, bonus, c, cA, ca, co, c., c0, c#, car, combat, count, 
 
 [^b|c].*
 [^bc].*
 [^b-c].*   
 b 또는 c로 시작하지 않는 문자열   date, disc,  
 .*a.*  a를 포함하는 모든 문자열
 * : 0 또는 그 이상의 문자열 
 bat, baby, ca, car, combat, date, 
 .*a.+   a를 포함하는 모든 문자열.
 + : 1 또는 그 이상의 문자. '+'는 '*'과는 달리 반드시 하나 이상의 문자가 있어야 하므로 a로 끝나는 단어는 포함되지 않는다. 
 bat, baby, car, combat, date, 
 [b|c].{2}   b 또는 c로 시작하는 세 자리 문자열.  (b 또는 c다음에 두 자리이므로 모두 세 자리)  bat, car,  




posted by 쪼재