본문 바로가기
백엔드/Java

알고리즘

by david100gom 2024. 3. 20.
// 알파벳으로 시작하고 _ 숫자 영문자만 허용하는 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");

'백엔드 > Java' 카테고리의 다른 글

PK (Auto_increment) 가져오기  (0) 2024.03.20
@Async가 먹히지 않는 경우는 3가지  (0) 2024.03.20
AES-256  (0) 2024.03.20
SHA-256  (0) 2024.03.20
같은 단어 제거 정규식  (0) 2024.03.20
자바 정수범위  (0) 2024.03.20
StringBuffer 와 StringBuilder 의 차이  (0) 2024.03.20
ICMP ECHO  (0) 2024.03.20

댓글