본문 바로가기

카테고리 없음

위치의 지정을 함께 사용

패턴은 메타 문자는 단독으로 사용할뿐만 아니라 여러 메타 문자를 함께 사용하여 작성할 수 있습니다. 

따라서 행의 선두에 일치하는 "^"와 줄의 끝과 일치하는 "$"를 함께 사용해보십시오.

 

"^ 패턴 $"

 

구체적인 예로 생각해보십시오. "abc"와 "abcdef"라고 두 문자열에 대해 패턴을 "^ abc $"로 지정했을 경우,이 패턴은 행의 처음부터 시작 "abc"와 이어 마지막 행의 끝에 계속된다고 의미하므로 "abc"만 매치 할 수 있습니다.

 

abc × abcdef

 

이와 같이 하나의 패턴에 여러 메타 문자를 조합하여 사용할 수 있습니다.

구체적으로는 다음과 같이 설명합니다.

 

String str = "Hello"; String regex = "^ Hello $"; Pattern p = Pattern.compile (regex); Matcher m = p.matcher (str); if (m.find ()) { System.out.println ( "일치했습니다."); } else { System.out.println ( "일치하지 않습니다"); }

 

위의 경우는 일치합니다.

샘플 프로그램

그럼 실제로 시도합니다.

 

import java.util.regex.Pattern; import java.util.regex.Matcher; class JSample6_1 { public static void main (String args []) { String str1 = "Hello"; String str2 = "Hello"; String str3 = "Hey?"; String regex1 = "^ Hel"; Pattern p1 = Pattern.compile (regex1); String regex2 = "^ Hello $"; Pattern p2 = Pattern.compile (regex2); System.out.println ( "패턴 :"+ regex1); check (p1, str1); check (p1, str2); check (p1, str3); System.out.println ( "패턴 :"+ regex2); check (p2, str1); check (p2, str2); check (p2, str3); } private static void check (Pattern p, String target) { Matcher m = p.matcher (target); if (m.find ()) { System.out.println ( "○"+ target); } else { System.out.println ( "×"+ target); } } }

 

컴파일을하신 후 실행 해 봅니다.