정규 표현식(Regular expression)이란?
정규 표현식은 특정 규칙이 있는 문자열에서 원하는 조건으로 일치하는 그룹 결과를 얻을 수 있는 형식 언어이다.
문자열

문자열 자체를 입력하면 해당 문자열과 동일한 내용을 검색 / th와 동일한 문자열을 찾음
.

. 을 입력하여 어떤 문자를 대신해서 검색 / th로 시작하는 3자리의 문자열을 찾음
[]

대괄호 안에 입력하면 해당 문자 중 어떤 것이든 검색 / t 또는 h인 문자열을 찾음
|

|로 구분한 문자열을 검색. 대괄호를 사용한 것과 동일한 결과 / t 또는 h인 문자열을 찾음
?

?는 해당 문자열이 0개 또는 1개인 경우를 검색 / h 또는 th를 찾음
*

*는 해당 문자열이 0개 또는 여러 개인 경우를 검색 / re 또는 res, ress, resss … 를 찾음
+

+는 해당 문자열이 1개 또는 여러 개인 경우를 검색 / res 또는 ress, resss … 를 찾음
{n, m}

{시작, 끝} 시작 이상, 끝 이하인 개수를 가지는 문자열을 검색 / p 또는 pp를 찾음
()

()안에 있는 문자열을 그룹으로 묶어 검색 / or라는 문자열을 찾아 그룹으로 관리
\b

공백과 단어 사이의 문자열 중 일치하는 문자열을 검색 / 단어의 앞쪽 끝에 있는 t를 찾음
^

^ 다음에 오는 문자열로 시작하는 문자열을 검색 / E로 시작하는 문자열을 검색
$

$ 이전에 오는 문자열로 끝나는 문자열을 검색 / de로 끝나는 문자열을 검색
연습 문제
간단한 문제를 통해서 정규 표현식을 적용해 보자.
https://megamaker.tistory.com/100
[프로그래머스][JAVA][Lv. 1] 문자열 내 p와 y의 개수
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12916 제한 사항 입출력 예 풀이 import java.util.regex.Pattern; import java.util.regex.Matcher; class Solution { boolean solution(String s) { Pattern patternP = Pattern.compil
megamaker.tistory.com

p 또는 P
y 또는 Y
의 개수를 구해야 하는 문제이다.

p|P와 y|Y 또는
[pP]와 [yY]로 각각의 개수를 구할 수 있다.
https://megamaker.tistory.com/103
[프로그래머스][JAVA][Lv. 1] 이상한 문자 만들기
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12930# 제한 사항 입출력 예 풀이 class Solution { public String solution(String s) { StringBuilder strBuilder = new StringBuilder(); String[] sArr = s.split("\\b +\\b"); Strin
megamaker.tistory.com

공백을 기준으로 문자를 나누어야 하는 문제이다.

단순히 공백으로만 나누게 되면 공백 여러 개를 하나로 인식하지 못한다.
또한 문장의 앞뒤 공백도 포함된다.

단어 기준 끝에 있는 것을 선택하는 \b를 이용하여 공백의 양 옆이 단어인 것을 선택하고 +를 이용하여 1개 이상의 공백을 선택할 수 있도록 하면 된다.
'공부 > 기타' 카테고리의 다른 글
| [Redis] Spring Data Redis 사용하기 (0) | 2024.05.21 |
|---|---|
| MapStruct는 Lombok보다 먼저 작성하자 (0) | 2024.04.29 |
| Apache Kafka 실행 및 기본 기능 테스트하기 (0) | 2024.04.03 |
| [테스트] 좋은 단위 테스트(Unit Test)를 위해서 (0) | 2024.02.19 |
| SOLID에 대해서 알아보자 (0) | 2024.02.12 |