정규 표현식이 컴파일된 클래스이다. 정규 표현식에 대상 문자열을 검증하거나 활용하기 위해 사용되는 클래스를 말한다.
이 클래스에서는 정규 표현식을 컴파일해 인스턴스를 스스로 만들어야 한다. 이후 만든 패턴을 가지고 Matcher 객체를 생성할 수 있다. 생성된 Matcher 객체는 패턴과 문자열을 비교할 수 있게 해준다.
Pattern 클래스를 받아 대상 문자열과 패턴이 일치하는 부분을 찾거나 전체 일치 여부 등을 판별하기 위해 사용된다.
컴파일과 비교를 한번에 해주는 메서드이다.
contains()와 비슷한 메서드이지만 조금의 차이점이 존재한다. contains() 메서드는 인자로 전달받은 특정 문자의 포함 여부를 확인하는 메서드이지만 matches()는 정규 표현식으로 인자를 받아 동일한 패턴의 문자열인지 확인하는 메서드이다.
Pattern p = Pattern.compile("a.d");
Matcher m = p.matcher("aad");
boolean b = m.matches(); // true
//위와 같은 코드를 한줄로 요약할 수 있음
boolean b = Pattern.matches("a.d", "aad"); // true

특정한 규칙을 가진 문자열의 집합을 표현하는데 쓰이는 언어이다.
^x : 문자열의 시작을 표현, x 문자로 시작됨을 의미x$ : 문자열의 종료를 표현, x 문자로 종료됨을 의미.x : 임의의 한 문자의 자릿수를 표현하며 문자열이 x로 끝난다는것을 의미x+ : 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미x? : 존재여부 표현, x 문자가 존재할수도 있고 없을수도 있음x* : 반복여부 표현, x 문자가 0번 이상 반복됨을 의미x{n} : 반복을 표현하며 x 문자가 n번 반복됨을 의미x{n,} : 반복을 표현하며 x 문자가 n번 이상 반복됨을 의미x{n, m} : 반복을 표현하며 x 문자가 n번 이상 m번 이하로 반복됨을 의미