문자열의 패턴을 확인할때 사용하는 matches() 메서드에 대해서 알아보려고한다.
String.matches()로 특정 패턴의 문자열을 포함하는지 확인할 수 있습니다. 특정 패턴이란 정규표현식(Regex)를 의미합니다. 문자열에 정규표현식이 일치하는지를 boolean으로 리턴합니다. 이를 통해 문자열이 내가 찾는 패턴으로 구성되어있는지 알 수 있습니다.
- 주어진 정규 표현식과 일치하는지 여부를 확인하는 함수이다.
- 정규 표현식을 사용하지 않아도 가능하지만 "정확히" 일치해야한다.
String str = "my java test"; //정규표현식 사용 안할때 정확히 일치해야 한다 System.out.println( str.matches("java") ); // false System.out.println( str.matches("my java Test") ); // false (대/소문자 역시 구분한다.) System.out.println( str.matches("my java test") ); // true //정규표현식 사용 System.out.println( str.matches(".*java.*") ); // true System.out.println( str.matches("(.*)test") ); // true System.out.println( str.matches("^[0-9]*$") ); // false
matches() 함수는 정확히 일치해야만 true를 반환해주기 때문에
특정 문자열을 검색할때 사용하기 보다는 정규식 표현을 이용하여 한글, 숫자 등과 같이 해당 형태의 텍스트가 존재하는지
즉, 원하는 패턴 형식에 맞는 텍스트가 있는지 알아볼때 사용한다.