gwooden_코린이
java_정규식_221201(9일차) 본문
728x90
package 자바API;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Sample06 {
public static void main(String[] args) {
// 정규식 .compile(regex)
Pattern p = Pattern.compile("b[a-z]*");
Matcher m;
//검사할 데이터 (검사할 글자 입력)
m = p.matcher("bat");
System.out.println(m.matches());
}
}
.compile("b[a-z]*")
Pattern..compile("b[a-z]*")
m = p.matcher("bat");
("b[a-z]*") -> 첫 번째 자리는 무조건 b라는 단어가 나와야지 만족이고 그 다음 a - z 중 아무 알파뱃 소문자가 나와야 되고
마지막에는 * 아무거나 나오면 조건 만족시 true 조건 불만족시 flase
Pattern p = Pattern.compile("b[a-z]*");
Matcher m;
m = p.matcher("cat");
System.out.println(m.matches());
Pattern p = Pattern.compile("b[^a-z]*");
Matcher m;
m = p.matcher("bbbb");
System.out.println(m.matches());
package 자바API;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Sample06 {
public static void main(String[] args) {
//패턴 클래스를 이용해서 하나하나 비교하는 작업
String[] patterns = {
".",
"[a-z]?",
"[0-9]+",
"0[1-9]*",
"^[0-9]",
"[a-z]*",
"[a-z]+",
"02|010",
"\\s",
"\\S",
"\\d",
"\\w",
"\\W"
};
//단순 배열 2개 만들어 둔 것
String[] datas = {
"bat",
"021231234",
"12345",
"011",
"bed",
"02",
"A",
"9",
"a",
"*"
};
for(String d : datas) {
System.out.print(d + "문자와 일치하는 패턴 : ");
for(String p : patterns) {
Pattern pattern = Pattern.compile(p); // <-- 정규식
Matcher m = pattern.matcher(d);
if(m.matches())
System.out.print(p + ", ");
}
System.out.println();
}
}
}
* 아무 값 또는 없어도 된다.
?는 0이나 1이거나
^[0-9] 0-0 중 하나
[^0-9] 0-9가 아닌것만
+는 값이 하나 무조건 있어야 된다
\\s 띄어쓰기 한번만 된 것
\\S 한글자인 값들만
\\d 숫자 한개만
\\w 특수문자가 없는것
\\W 특수문자가 있는것
// (숫자가 1개 2개 이거나)-(숫자가 3개 4개 이거나)-(숫자가 4개)
전화번호 = (0\\d{1,2})-(\\d{3,4})-(\\d{4})
// (특수문자를 제외한)@(특수문자를 제외한).(특수문자를 제외한)
이메일 = (\\w+)@(\\w+).(\\w+)
728x90
'java > 9일차' 카테고리의 다른 글
java_속도비교_221201(9일차) (0) | 2022.12.01 |
---|---|
java_컬렉션 프레임워크_221201(9일차) (0) | 2022.12.01 |
java_DecimalFormat_221201(9일차) (0) | 2022.12.01 |
java_Aarrys 클래_221201(9일차) (1) | 2022.12.01 |
java_자바API(시간)_221201(9일차) (0) | 2022.12.01 |
Comments