JAVA

[JAVA] 정규 표현식(replaceAll)

빅콜팝 2022. 10. 8. 04:07
728x90
반응형

String.replaceAll('From','to')

- 대상 문자열 모두를 원하는 문자 값으로 변환하는 함수

 

^
문자열의 시작
$
문자열의 종료
.
임의의 한 문자(필수입력, 문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음
*
앞 문자가 없을 수도 무한정 많을 수도 있음
+
앞 문자가 하나 이상
?
앞 문자가 없거나 하나있음
[]
문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다.
{}
횟수 또는 범위를 나타낸다.
()
소괄호 안의 문자를 하나의 문자로 인식
|
패턴 안에서 or 연산을 수행할 때 사용
\s
공백 문자
\S
공백 문자가 아닌 나머지 문자
\w
알파벳이나 숫자
\W
알파벳이나 숫자를 제외한 문자
\d
숫자 [0-9]와 동일
\D
숫자를 제외한 모든 문자
\
정규표현식 역슬래시(\)는 확장 문자
역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고, 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미

 

[]
or : 대괄호 안의 모든 문자
[^]
not : 대괄호 안의 문자 외의 모든 문자
^[]
대괄호 안의 문자로 시작하는 문자열
[]$
대괄호 안의 문자로 끝나는 문자열

 

1. 사용 예시


숫자를 제외한 모든 문자 제거 : str.replaceAll("[^0-9]","");

숫자 제거 : str.replaceAll("[0-9]","");

공백 제거 : str.replaceAll("[\\s]","");

특수문자 제거 : str.replaceAll("[^ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]", "");

 

2. 입력 데이터 확인 정규식


1) 숫자만 : ^[0-9]

2) 영문자만 : ^[a-zA-Z]

3) 한글만 : ^[가-힣]

4) 영어 & 숫자만 : ^[a-zA-Z0-9]

5) E-Mail : ^[a-zA-Z0-9]+@[a-zA-Z0-9]

6) 휴대폰 : ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$

7) 일반전화 : ^\d{2.3} - \d{3,4} - \d{4}$

8) 주민등록번호 : \d{6} \- [1-4]\d{6}

9) IP 주소 : ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})

728x90
반응형