// 알파벳으로 시작하고 _ 숫자 영문자만 허용하는 8-30 길이의 단어
String pattern = "^[a-zA-Z][a-zA-Z_0-9]{7,29}$";
String input = "";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
if (m.find()) {
System.out.println("Valid");
} else {
System.out.println("Invalid");
}
------
// 파일확장자
String pattern = "^\\S+.(?i)(txt|pdf|hwp|xls)$";
String input = "abc.txt";
boolean i = Pattern.matches(pattern, input);
if(i == true){
System.out.println(input+"는 패턴에 일치함.");
}else{
System.out.println("패턴 일치하지 않음.");
}
-------
// 같은태그로 감싸있는 문장만 추출
// input
// <h1>Nayeem loves counseling</h1>
// <h1><h1>Sanjay has no watch</h1></h1><par>So wait for a while</par>
// <Amee>safat codes like a ninja</amee>
//
// 결과:
// Nayeem loves counseling
// Sanjay has no watch
// So wait for a while
// None
int count=0;
Pattern r = Pattern.compile("<(.+?)>([^<>]+)</\\1>");
Matcher m = r.matcher(input);
while(m.find()) {
if (m.group(2).length() !=0 ) {
System.out.println(m.group(2));
count++;
}
}
if (count == 0) System.out.println("None");
댓글