상세 컨텐츠

본문 제목

[자바] 정규 표현식( Regular Expression,‘regexp') 패턴/ 메타 문자

java_자바

by 쫑메이 2020. 8. 26. 00:30

본문

 

 

 

 

 

 

 

 

 


[자바] 정규 표현식 처리


 

 

정규 표현식이라 문자열을 처리하는 방법으로 패턴 기반의 특정한 조건에 맞는 문자를

검색하거나 치환하는데 사용된다

 

Regular Expression=줄여서 ‘regexp’ 많이 보인다

 

 

 

 

 

 

 

 

 

 


[자바] 기본패턴(메타 문자)


 

 

 

 

 

 

 

 

 

 

 

 

 


[자바] 기본패턴(메타 문자)_예시


 

 

xa?y$ : 시작 문자열은 관계없음.

문자열 중에서 x 뒤에 a가 올 수도 있고, 안 올 수도 있으며,

그 뒤의 마지막은 y로 끝나야 한다.

=> xy(O), xay(O), bxay(O), hixy(O)

 

xayb(X, 마지막이 y로 끝나야 함)

xaay(X, a? 가 1개이므로 a는 없거나 1개만 존재해야 함)

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바] 기본 패턴(괄호 메타 문자)


 

 

 

소괄호() = 소괄호 안의 모든 문자열을 포함(그룹화) 하는 문자열

(xy) : xy 가 그대로 포함된 문자열

 

 

 

중괄호{ } = 반복 관련 문자열

x{n} : x가 n 번 반복되는 문자열

=> x{2} : x가 2번 반복되는 문자열 = "xx", x{5} = "xxxxx"

 

x{n, m} : x가 n 번 이상 m 번 이하 반복되는 문자열

=> x{2,4} : x가 2번에서 4번까지 반복되는 문자열 = "xx", "xxx", "xxxx"

 

x{n,} : x가 n 번 이상 반복되는 문자열

=> x{2, } : x가 2번 이상 반복되는 문자열 = "xx", "xxx", "xxxx", ...

 

 

 

대괄호[] = [] 기호 안의 문자들 중 하나가 나오는 문자열

[xy] : x 또는 y 1글자

[a-z] : 소문자(소문자 a ~ 소문자 z) 1글자

[가-힣] : 한글 1글자

[0-9] : 숫자 1자리

 

대괄호[] 내의 ^ 기호 = 해당 문자열이 포함되지 않는 문자열(제외)

[^0-9] : 숫자가 아닌 문자 1글자

[^A-Z] : 대문자가 아닌 1글자 또는 숫자

 

 

 

 

 

 

 

 

 

 

 


[자바] 기본 패턴(괄호 메타 문자): 예제


 

 

 

(예제 1)

(a1){2}b{2,4}c{2, }

=> a1 문자열 2번 나오고, b가 2~4번 나오고, c는 2번 이상 나오는 문자열

a1a1bbcc(O), a1a1bbbbbccc(X)

 

(예제 2)

[a-z]{2}[0-9][가-힣][^A-Z]

=> 소문자 2글자, 숫자 1개, 한글 1글자, 대문자가 아닌 것 1개

aa1홍a(O), aa1홍1(O), aa1홍Z(X)

 

 

 

 

 

 

 

 

 

 

 

 


[자바]유용한 정규 표현식 예시


 

 

1. 한글 이름 판별

^[가-힣]{2,5}$ => 한글 2 ~ 5글자

 

 

2. 전화번호 판별

^(010|011)[-\s]?\d{3,4}[-\s]?\d{4}$

=> 010 또는 011 로 시작하고, - 기호 또는 공백이 있을 수도 있고 없을 수도 있음

숫자가 3자리~4자리 뒤에 - 기호 또는 공백이 있을 수도 있고 없을 수도 있음

마지막 숫자 4자리로 끝

ex) 010-123-4567 (O)

010 1234 5678 (O)

010)1234-5678 (X)

010-1234-567a (X)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 

 

 

 


 

 


 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

 

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 


 

 

반응형

관련글 더보기