정규식을 주어진 문자열과 일치시키려면 다음이 필요합니다.
- Pattern 클래스의 compile() 메서드 정규식을 컴파일합니다.
- Pattern 클래스의 matcher() 메서드에 대한 매개변수로 필요한 입력 문자열을 무시하고 Matcher 개체를 가져옵니다.
- Matcher 클래스의 matching() 메소드는 일치가 발생하면 true를 리턴하고 그렇지 않으면 false를 리턴합니다. 따라서 이 메소드를 호출하여 데이터를 검증하십시오.
예
다음은 날짜만 일치하는 Java 정규식 예제입니다.
가져오기 java.util.ArrayList;가져오기 java.util.List;가져오기 java.util.regex.Matcher;가져오기 java.util.regex.Pattern;공개 클래스 샘플 { public static void main(String args[]){ //날짜를 저장할 목록 만들기 List dates =new ArrayList(); dates.add("1990-12-25"); dates.add("1990년 12월 25일"); dates.add("2010-06-24 06:30"); dates.add("05-02-1990"); dates.add("1920-11-03 12:40"); //날짜와 일치하는 정규식 String regex ="[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][ 0-9]|3[0-1])"; //정규 표현식 컴파일 Pattern pattern =Pattern.compile(regex); //각 날짜 매칭 for(Object date :dates) { Matcher matcher =pattern.matcher((CharSequence) date); System.out.println(날짜 +":"+ matcher.matches()); } }}
출력
1990년 12월 25일:false25/12/1990:false2010-06-24:true05-02-1990:false1920-11-03:true
예
다음 예는 날짜와 시간을 일치시킵니다 -
가져오기 java.util.ArrayList;가져오기 java.util.List;가져오기 java.util.regex.Matcher;가져오기 java.util.regex.Pattern;공개 클래스 샘플 { public static void main(String args[]){ //날짜를 저장할 목록 만들기 List dates =new ArrayList(); dates.add("1990-12-25"); dates.add("1990년 12월 25일"); dates.add("2010-06-24 12:30:40"); dates.add("05-02-1990 44:205:40"); dates.add("1920-11-03 06:25:40"); //날짜와 일치하는 정규식 String regex ="[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][ 0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9 ]"; //정규 표현식 컴파일 Pattern pattern =Pattern.compile(regex); //각 날짜 매칭 for(Object date :dates) { Matcher matcher =pattern.matcher((CharSequence) date); System.out.println(날짜 +":"+ matcher.matches()); } }}
출력
1990-12-25:false25/12/1990:false2010-06-24 12:30:40:true05-02-1990 44:205:40:false1920-11-03 06:25:40:true사전>