* 정규 표현식(Regular Expression) 이란?
: 특정한 규칙(패턴)을 가진 문자열의 집합을 표현하는데 사용하는 표현식 언어
: 정규 표현식은 주로 텍스트(문자열)를 많이 처리하는 프로그래밍 언어(C, Perl, Java, JavaScript 등)에서
문자열의 검색과 치환을 위해 주로 사용
* 정규 표현식 문법
-
'.' 특수문자- 임의의 한 문자를 의미('.'가 위치한 곳에는 반드시 임의의 한글자가 위치하여야 한다는 의미)
패턴
일치하는 문자열
ab.
abc, abz 등
.bc
abc, zbc 등
a.b
acb, azb 등
- '*' 특수문자
- 바로 앞의 문자가 없거나 하나 이상 반복한다는 의미
패턴
일치하는 문자열
Hello*
Hell, Hello, Helloo, Hellooo 등
ab*c
abc, abbc, abbbc 등
*a
표현 불가(*앞에는 반드시 한 글자 이상의 단어가 와야 된다)
- '+' 특수문자
- '*'과 비슷하지만, '+'는 반드시 하나 이상의 문자가 반복
패턴
일치하는 문자열
Hello+
Hello, Helloo, Hellooo 등
ab+c
abc, abbc, abbbc 등
a.
표현 불가
-
'?' 특수문자
- '?' 바로 앞의 문자가 없거나, 하나임을 의미패턴
일치하는 문자열
a?c
c, ac 중 하나
Hello?
Hell, Hello 중 하나
?a
표현 불가
-
'^' 특수문자
- 문장의 처음을 나타내며, '^'가 있는 단어로 문장이 시작됨패턴
일치하는 문자열
^Hello
Hello World, Hello Java 등
^The
The Pen, The Book 등
-
'$' 특수문자
- 문장의 끝을 나타내며, '$'가 있는 단어로 문장이 끝남패턴
일치하는 문자열
World$
Hi World, Hello World 등
Java$
Hi Java, Study Java 등
-
'[ ]' 특수문자 (조건)
- 괄호 안의 문자 중 일치하는 것을 검색할 경우 사용패턴
일치하는 문자열
[abc]
a,b,c,ab,abc 등
(문자열에 'a','b','c' 등이 있어야 한다)[a-z]
알파벳 소문자가 포함된 모든 문자열(범위)
[A-Z]
알파벳 대문자가 포함된 모든 문자열(범위)
[0-9]
숫자가 포함된 모든 문자열(범위)
^[a-zA-Z0-9]
영문대소문자 또는 숫자로 시작되는 모든 문자열 검색
-
'[ ]' 안에서의 '^' 특수문자(부정)
- '[ ]' 특수문자 안에 있는 문자를 포함하고 있지 않는 모든 문자열을 찾고자 할 경우패턴
일치하는 문자열
[^abc]de
dde, fde, zde 등
a[^0-9]c
abc, acc, adc 등
-
'{ }' 특수문자
- '{ }' 특수문자 앞의 문자가 반복되는 횟수를 의미패턴
일치하는 문자열
Hel{2}o
Hello
Ja{5}va
Jaaaaava
Ja{3,}va
Jaaava, Jaaaava 등(3개 이상)
Ja{2,4}va
Jaava, Jaaava, Jaaaava (2개이상 4개이하)
-
'( )' 특수문자
- '( )' 안의 문자열을 하나의 문자로 취급패턴
일치하는 문자열
(Java){3}
JavaJavaJava
(Java)*
Java, JavaJava 등
H(el){2}lo
Helello
-
'|' 특수문자
- OR 연산을 수행패턴
일치하는 문자열
Hello|Java
Hello 또는 Java가 포함된 문자열
Man|Woman
Man, Woman, ManWoman, SuperMan 등
[출처] [Java] 정규표현식 (1)|작성자 워니
출처: http://javafactory.tistory.com/1353?category=485631 [FreeLife의 저장소]
'프로그래밍 > JAVA' 카테고리의 다른 글
String, StringBuilder , StringBuffer (0) | 2018.01.29 |
---|---|
정규 표현식(Regular Expression) 2 (0) | 2018.01.23 |
JAVA에서 NULL 체크 어떻게 하고 계시나요? (1) | 2018.01.16 |
디자인 패턴 MVC (0) | 2018.01.03 |
디자인 패턴 : FACTORY METHOD (0) | 2018.01.03 |