본문 바로가기

6개월 대장정/JAVA 개념

21일차 - 기본 API 클래스(2, 정규표현식)

반응형

안녕하세요. pitang입니다.

저번 시간에는 String을 살펴봤습니다. 오늘은 regular expression에 대해 살펴보겠습니다!

 

정규 표현식 (regular expression)

문자열이 정해져 있는 형식이 정규표현식이다. 이 형식으로 구성되어 있는지 검증해야 하는 경우 정규표현식과 비교한다.

정규 표현식을 작성하는 방법은 API 도큐먼트에서 java.util.regex.Pattern 클래스를 찾아

Summary of regular-expression constructs 를 참조하면 되지만

기본적으로 알아두어야 할 기호들을 살펴볼 것이다.

[] 한 개의 문자
\d 한 개의 숫자, [0-9]와 동일
\s 공백
\w 한 개의 알파벳 또는 한 개의 숫자.[a-zA-z_0-9]와 동일
? 없음 또는 한 개
* 없음 또는 한 개 이상 (= 0개이상)
+ 한 개 이상
{n} 정확히 n개
{n.} 최소한 n개
{n,m} n개에서부터 m개까지

 

https://sebaek.github.io/regex-tutorial/

 

Regular Expression Tutorial

 

sebaek.github.io

위의 사이트를 방문하면 regex에 대한 연습을 할 수 있을 것이다.

 

Pattern 클래스

Pattern클래스로 문자열을 검증하는 방법이 있다.

문자열을 정규 표현식으로 검증하는 기능은 java.util.regex.Pattern 클래스의 정적 메서드인 matches() 메서드가 제공한다.

 

첫 번째 매개값은 정규 표현식이고, 두 번째 매개 값은 검증할 문자열이다. 

검증 후 결과가 boolean타입으로 리턴된다.

 

single character

하나의 문자만을 비교할 때의 예시들이다.

Pattern.matches(표현식, 검증할 문자열); 을 사용해 확인하고 boolean타입의 리턴으로 확인한다.

 

ex1)

Ex01SingleCharacter - console

 

ex2)

Ex02SingleCharacter - console

 

Character

기호 [] 을 써서 확인하는 예시들이다.

[abc] - a, b, c 중 하나의 문자

[^a] - a 이외의 하나의 문자

[a-zA-z] - a~z, A~Z 중 하나의 문자이다. 

 

ex1)

Ex03Characters - console

 

ex2)

Ex04Characters - console

 

ex3)

Ex05Characters - console

 

ex4)

Ex06Predefined - console

 

ex5)

Ex07AnyCharacter - console

 

multiple character

기호 a{3} a 세 개와 같으면 true를 리턴한다.

기호 \d{3,4} 3자리 또는 4자리 숫자와 같으면 true를 리턴한다.

 

ex1)

Ex09Quantifier - console

 

ex2)

Ex10Quantifier - console

 

Examples

ex1)

Ex12Example - console

 

ex2)

pizza 와 Pizza를 정규 표현식을 사용해 한번에 정의할 수 있다.

replace() 메서드의 첫 번째 매개 값인 문자열을 정규 표현식으로 [pP]izza를 넣어주면 소문자 p와 P를 모두 바꿀 수 있다.

Ex13Example
MainClass console

 

감사합니다.

 

*m1 맥북을 사용 중입니다.*

 

728x90
반응형