정규식 패턴

설 명 

결 과 

 c[a-z]* 

 c 로 시작하는 영단어

 c, ca, co, car

 c[a-z]

 c 로 시작하는 두 자리 영단어(대소문구분)

 ca, co

 c[a-zA-Z]

 c 로 시작하는 두 자리 영단어(대소문구분않함)

 cA, ca, co

 c[a-zA-Z0-9]c\w

 c 로 시작하고 숫자와 영어로 조합된 두 글자

 cA, ca, co, c0

 .*

 모든 문자열

 전부다

 c.

 c 로 시작하는 두 자리

 cA, ca, co, c., c0, c#

 c.*

 c 로 시작하는 모든 문자열(기호포함)

 cA, ca, co, combat, c#

 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, count, car

 [^b|c].*

 [^bc].*

 [^b-c].* 

 b 또는 c 로 시작하지 않는 문자열

 date, disc

 .*a.*

 a 를 포함하는 모든 문자열.

 * : 0 또는 그 이상의 문자

 bat, baby, ca, car, date

 .*a.+

 a 를 포함하는 모든 문자열.

 + : 1 또는 그 이상의 문자. '+' 는 '*' 와 달리 반드시 하나 이상의

 문자가 있어야 하므로 a 로 끝나는 단어는 포함되지 않는다.

 bat, baby, car, combat

 [b|c].{2}

 b 또는 c로 시작하는 세 자리 문자열.

 (b 또는 c 다음에 두 자리이므로 모두 세 자리)

 bat, car

 

예제)

1. 정규식을 매개변수로 pattern 클래스의 compile(String regex)을 호출하여 pattern 인스턴스를 생성

EX) Pattern pattern = Pattern.compile("c[a-z]*");

 

2. 정규식으로 비교할 대상을 매개변수로 Pattern 클래스의 Matcher matcher(CharSequenceinput)를 호출해서 

    Matcher 인스턴스를 얻는다.

EX) Matcher matcher = pattern.matcher("비교할 매개변수");

 

3. Matcher 인스턴스에 boolean matches()를 호출해서 정규식으로 부합하는지 확인한다. (return boolean)

if( matcher.matches() )




+ Recent posts