Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- map()
- 백준 11660번
- pseudo-code
- 합배열
- 구간합
- 생성자
- jquery
- 백준 1235번
- 백준
- this
- 구간합구하기
- interrupted()
- Bean LifecCycle
- 자바 람다식
- select
- ajax
- 2차원배열 구간합
- 슈더코드
- 백준 11659번
- SQL
- this와 this() 차이
- @NoArgsConstructor
- @AllArgsConstructor
- 상속과 참조
- InterruptException
- MariaDB Query Log
- Java
- 마리아DB 쿼리 로그
- function test
- json
Archives
- Today
- Total
평범한 연구소
[JAVA] 정규식 본문
정규식
- [0-9A-Za-z] == \\w : 영숫자
- [대한0-9A-Za-z]: 대,한,숫자,영문자 제외 (한글자 한글자 의미)
- \\w|대한: 대한과 영숫제 제외 ("대한" 문자열 의미)
- \\d: 숫자
- \\s: 공백(엔터,탭 포함)
- \\w: 영숫자
- \\W: 영숫자 제외
- \\d | \\s: 숫자 또는 공백
- [0-9]: 0~9사이의 숫자
- [0-9A-Za-z]: 대소문자, 숫자
- \\w|대한: 영숫자와 "대한"
- [대한0-9A-Za-z]: '대','한',영숫자
- \\d{1,3}: 1~3자 이내의 숫자
- ^:시작 $:마지막 +:하나이상
- 대괄호 안 [^]:부정. ^:시작과 다름.
- s.replaceAll(a, b): 문자열a를 b로 변경. 정규식 사용 가능.
- - s1.replaceAll("\\d|\\s", ""): 숫자 또는 공백 제거
- s.matches(p): p(정규식 패턴 담긴 문자열) 일치하면 true 반환
정규식 활용 예제
package ch07.unit4;
public class Ex05 {
public static void main(String[] args) {
String s1 = "seoul korea";
String s2;
int n;
// indexOf(): 특정 문자나 문자열이 몇번째 인덱스에 존재하는지 반환. 없으면 -1.
n = s1.indexOf("seo");
System.out.println(n); // 0
n = s1.indexOf("KOR");
System.out.println(n); // -1
n = s1.indexOf("ko");
System.out.println(n); // 6
n = s1.indexOf("o");
System.out.println(n); // 2
n = s1.indexOf("o", 3); // 3인덱스(u) 부터 검색
System.out.println(n); // 7
n = s1.lastIndexOf("o");
System.out.println(n);
s1="test.jpg";
s2 = s1.substring(s1.lastIndexOf(".")+1); // 파일에서 확장자만 추출
System.out.println(s2); //jpg
s1="우리나라 대한민국 대한민국 만세";
s2 = s1.replace("대한", "大韓"); // 모든 대한을 한문으로 변경. 정규식 사용 불가
System.out.println(s2);
s1="우리나라 대한민국 대한민국 만세";
s2 = s1.replaceAll("대한", "大韓"); // 모든 대한을 한문으로 변경. 정규식 사용 가능
System.out.println(s2);
s1="우리 123 나라 456 대한";
// 정규식 패턴-> \\d:숫자, \\s:공백(엔터,탭 포함), |:또는
s2 = s1.replaceAll("\\d", ""); // 숫자 제거
System.out.println(s2);
// [0-9]: 숫자
s2 = s1.replaceAll("[2-5]", ""); // 2~5 사이의 숫자 제거
System.out.println(s2);
s1 = "우리12나라 ab대한XY민국 한국"; //
s2 = s1.replaceAll("[0-9A-Za-z]", ""); //영문자(대소문자), 숫자 제거
System.out.println(s2);
s2 = s1.replaceAll("\\w", ""); // \\w: 영숫자
System.out.println(s2);
s2 = s1.replaceAll("\\W", ""); // \\W: 영숫자 제외
System.out.println(s2);
// 영문자, 숫자, 대한 제거
s2 = s1.replaceAll("\\w|대한",""); // 우리나라 민국 한국
System.out.println(s2);
// []는 안에 있는 한글자 한글자 의미.
s2 = s1.replaceAll("[대한0-9A-Za-z]",""); // 우리나라 민국 국
System.out.println(s2);
}
}
package ch07.unit4;
public class Ex06 {
public static void main(String[] args) {
String s, p;
boolean b;
// 1~3자 이내의 숫자인지 검사
p = "\\d{1,3}";
s = "12";
b = s.matches(p); // 정규식 패턴에 일치하면 true
System.out.println(b);
s = "1234";
System.out.println(s.matches(p)); // false
// ^:시작 $:마지막 +:하나이상
p = "^[가-힣]+$"; // 닉네임 검증 형식
s = "홍ㅋ나";
System.out.println(s.matches(p)); // false.
s = "홍길동";
System.out.println(s.matches(p)); // true
p = "010-\\d{4}-\\d{4}"; // 전화번호 검증 형식
s = "010-1111-1111";
System.out.println(s.matches(p)); //true
// 숫자가 아닌 것은 *로 치환
s = "우리 12 abc 67 & 79";
s = s.replaceAll("[^0-9]", "*"); // 대괄호 안 [^]:부정. ^:시작과 다름.
System.out.println(s);
}
}
'JAVA > 기본 개념' 카테고리의 다른 글
[JAVA] StringBuilder, StringBuffer (0) | 2022.07.23 |
---|---|
[JAVA] 기본 API | String 클래스 관련 함수 (0) | 2022.07.23 |
[JAVA] 재귀 호출, 오버로딩 (0) | 2022.07.20 |
[JAVA] 기본 API | Object, Wrapper class 관련 함수 (0) | 2022.07.20 |
[JAVA] 생성자, 접근제어자 (0) | 2022.07.20 |