안녕하세요. 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)
ex2)
Character
기호 [] 을 써서 확인하는 예시들이다.
[abc] - a, b, c 중 하나의 문자
[^a] - a 이외의 하나의 문자
[a-zA-z] - a~z, A~Z 중 하나의 문자이다.
ex1)
ex2)
ex3)
ex4)
ex5)
multiple character
기호 a{3} a 세 개와 같으면 true를 리턴한다.
기호 \d{3,4} 3자리 또는 4자리 숫자와 같으면 true를 리턴한다.
ex1)
ex2)
Examples
ex1)
ex2)
pizza 와 Pizza를 정규 표현식을 사용해 한번에 정의할 수 있다.
replace() 메서드의 첫 번째 매개 값인 문자열을 정규 표현식으로 [pP]izza를 넣어주면 소문자 p와 P를 모두 바꿀 수 있다.
감사합니다.
*m1 맥북을 사용 중입니다.*
'6개월 대장정 > JAVA 개념' 카테고리의 다른 글
23일차 - 기본 API 클래스(4, Wrapper 클래스) (0) | 2021.09.14 |
---|---|
22일차 - 기본 API 클래스(3, Object클래스) (0) | 2021.09.13 |
20일차 - 기본 API 클래스(1, String클래스) (0) | 2021.09.09 |
19일차 - 예외 처리(2) (0) | 2021.09.08 |
18일차 - 예외 처리(1) (0) | 2021.09.07 |