패턴은 메타 문자는 단독으로 사용할뿐만 아니라 여러 메타 문자를 함께 사용하여 작성할 수 있습니다.
따라서 행의 선두에 일치하는 "^"와 줄의 끝과 일치하는 "$"를 함께 사용해보십시오.
"^ 패턴 $"
구체적인 예로 생각해보십시오. "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); } } }
컴파일을하신 후 실행 해 봅니다.