1) abc 포함
if(str.matches(".*abc.*")){
System.out.println("매칭");
}
2) 숫자만 3자리
if(str.matches("[0-9]{3}")){ // [\\d]{3}
System.out.println("매칭");
}
3) 알파펫, 숫자만 5자리 이상
if(str.matches("[0-9a-zA-Z]{5,}")) { // [\\w]{5,}
System.out.println("매칭");
}
4) 한글 3~5자리
if(str.matches("[가-힣]{3,5}")) {
System.out.println("매칭");
}
5) 숫자로 시작하지 않고, @문자열.문자열
\\.해야 우리가 아는 점의 의미
if(str.matches("^[\\D]\\w+@\\w+\\.\\w{2,3}$")) {
System.out.println("매칭");
}
if(str.matches("^\\S+\\.(?i)(jpg|txt|gif|png)$")) {
System.out.println("매칭");
}
(?i)는 대소문자 구분 없이 매칭시키는 것을 의미한다.
String message = "소프트웨어(SW) 중심사회를 실현하기 위해서는
SW의 가치를 제대로 인정하는 데서 출발해야 한다고 말했다.";
String result = message.replaceAll("SW", "소프트웨어");
System.out.println(result);
사용 방법 1
String data[] = {"bat", "bba", "bbg", "bonus","CA", "ca",
"c232", "car","date", "dic", "diraaa"};
Pattern p = Pattern.compile("(?i)c[a-z]*");
for(String d: data) {
Matcher m = p.matcher(d);
if(m.matches()) {
System.out.println(d);
}
}
사용 방법 2
String source = "ab?cde?fgh";
String reg = "(\\w)*";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(source);
while(m.find()) {
System.out.println(m.group());
}
String source = "HP : 010-1111-1111, HOME: 02-222-2222";
String reg = "(0\\d{1,2}-\\d{3,4}-\\d{4})"; //그룹이라서 한 괄호에 묶어줘야한다.
Pattern p = Pattern.compile(reg); // 패턴을 만듦
Matcher m = p.matcher(source); // 패턴을 타겟과 매치
while(m.find()) {
System.out.println(m.group());
}